Skip to content

Commit 152527f

Browse files
committed
Auto merge of #65190 - GuillaumeGomez:dont-pass-doctest-feature-by-default, r=Mark-Simulacrum
Don't pass doctest feature by default As asked in #63803 (comment). r? @QuietMisdreavus
2 parents 026447b + 3e376f5 commit 152527f

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

src/librustdoc/config.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -343,10 +343,7 @@ impl Options {
343343
let output = matches.opt_str("o")
344344
.map(|s| PathBuf::from(&s))
345345
.unwrap_or_else(|| PathBuf::from("doc"));
346-
let mut cfgs = matches.opt_strs("cfg");
347-
if should_test {
348-
cfgs.push("doctest".to_string());
349-
}
346+
let cfgs = matches.opt_strs("cfg");
350347

351348
let extension_css = matches.opt_str("e").map(|s| PathBuf::from(&s));
352349

src/librustdoc/test.rs

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ pub fn run(options: Options) -> i32 {
6464

6565
let mut cfgs = options.cfgs.clone();
6666
cfgs.push("rustdoc".to_owned());
67+
cfgs.push("doctest".to_owned());
6768
let config = interface::Config {
6869
opts: sessopts,
6970
crate_cfg: config::parse_cfgspecs(cfgs),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// build-pass
2+
// compile-flags:--test
3+
// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
4+
5+
#![feature(cfg_doctest)]
6+
7+
// Make sure `cfg(doctest)` is set when finding doctests but not inside
8+
// the doctests.
9+
10+
/// ```
11+
/// #![feature(cfg_doctest)]
12+
/// assert!(!cfg!(doctest));
13+
/// ```
14+
#[cfg(doctest)]
15+
pub struct Foo;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
running 1 test
3+
test $DIR/doc-test-doctest-feature.rs - Foo (line 10) ... ok
4+
5+
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
6+

0 commit comments

Comments
 (0)