diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index cdb1a1f6997c9..b19de4a2390a3 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -626,7 +626,12 @@ fn parse_extern_html_roots( // FIXME(eddyb) This shouldn't be duplicated with `rustc::session`. fn parse_externs(matches: &getopts::Matches) -> Result { let mut externs: BTreeMap<_, ExternEntry> = BTreeMap::new(); - for arg in matches.opt_strs("extern").iter().chain(matches.opt_strs("extern-private").iter()) { + let extern_private = if nightly_options::is_nightly_build() { + matches.opt_strs("extern-private") + } else { + Vec::new() + }; + for arg in matches.opt_strs("extern").iter().chain(extern_private.iter()) { let mut parts = arg.splitn(2, '='); let name = parts.next().ok_or("--extern value must not be empty".to_string())?; let location = parts.next().map(|s| s.to_string()); diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 277475f6fffd8..b04e2592ee1c1 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -144,7 +144,7 @@ fn opts() -> Vec { stable("extern", |o| { o.optmulti("", "extern", "pass an --extern to rustc", "NAME[=PATH]") }), - stable("extern-private", |o| { + unstable("extern-private", |o| { o.optmulti("", "extern-private", "pass an --extern to rustc (compatibility only)", "NAME=PATH") }), diff --git a/src/test/rustdoc/issue-66159.rs b/src/test/rustdoc/issue-66159.rs index 88eca7338707c..a0a7adf6e8115 100644 --- a/src/test/rustdoc/issue-66159.rs +++ b/src/test/rustdoc/issue-66159.rs @@ -1,4 +1,5 @@ // aux-build:issue-66159-1.rs +// compile-flags:-Z unstable-options // extern-private:issue_66159_1 // The issue was an ICE which meant that we never actually generated the docs