)]
#![feature(rustc_private)]
#![feature(array_methods)]
+#![feature(assert_matches)]
#![feature(box_patterns)]
+#![feature(control_flow_enum)]
#![feature(box_syntax)]
#![feature(in_band_lifetimes)]
#![feature(nll)]
#![feature(never_type)]
#![feature(once_cell)]
#![feature(type_ascription)]
-#![feature(iter_intersperse)]
#![recursion_limit = "256"]
#![warn(rustc::internal)]
-#[macro_use]
-extern crate lazy_static;
#[macro_use]
extern crate tracing;
// Dependencies listed in Cargo.toml do not need `extern crate`.
extern crate rustc_ast;
+extern crate rustc_ast_lowering;
extern crate rustc_ast_pretty;
extern crate rustc_attr;
+extern crate rustc_const_eval;
extern crate rustc_data_structures;
extern crate rustc_driver;
extern crate rustc_errors;
extern crate rustc_lint_defs;
extern crate rustc_metadata;
extern crate rustc_middle;
-extern crate rustc_mir;
extern crate rustc_parse;
extern crate rustc_passes;
extern crate rustc_resolve;
"NAME=URL",
)
}),
+ unstable("extern-html-root-takes-precedence", |o| {
+ o.optflagmulti(
+ "",
+ "extern-html-root-takes-precedence",
+ "give precedence to `--extern-html-root-url`, not `html_root_url`",
+ )
+ }),
stable("plugin-path", |o| o.optmulti("", "plugin-path", "removed", "DIR")),
stable("C", |o| {
o.optmulti("C", "codegen", "pass a codegen option to rustc", "OPT[=VALUE]")
"URL",
)
}),
- unstable("display-warnings", |o| {
- o.optflagmulti("", "display-warnings", "to print code warnings when testing doc")
+ unstable("display-doctest-warnings", |o| {
+ o.optflagmulti(
+ "",
+ "display-doctest-warnings",
+ "show warnings that originate in doctests",
+ )
}),
stable("crate-version", |o| {
o.optopt("", "crate-version", "crate version to print into documentation", "VERSION")
unstable("disable-minification", |o| {
o.optflagmulti("", "disable-minification", "Disable minification applied on JS files")
}),
- stable("warn", |o| o.optmulti("W", "warn", "Set lint warnings", "OPT")),
- stable("allow", |o| o.optmulti("A", "allow", "Set lint allowed", "OPT")),
- stable("deny", |o| o.optmulti("D", "deny", "Set lint denied", "OPT")),
- stable("forbid", |o| o.optmulti("F", "forbid", "Set lint forbidden", "OPT")),
+ stable("allow", |o| o.optmulti("A", "allow", "Set lint allowed", "LINT")),
+ stable("warn", |o| o.optmulti("W", "warn", "Set lint warnings", "LINT")),
+ stable("force-warn", |o| o.optmulti("", "force-warn", "Set lint force-warn", "LINT")),
+ stable("deny", |o| o.optmulti("D", "deny", "Set lint denied", "LINT")),
+ stable("forbid", |o| o.optmulti("F", "forbid", "Set lint forbidden", "LINT")),
stable("cap-lints", |o| {
o.optmulti(
"",
"LEVEL",
)
}),
- unstable("force-warn", |o| {
- o.optopt(
- "",
- "force-warn",
- "Lints that will warn even if allowed somewhere else",
- "LINTS",
- )
- }),
unstable("index-page", |o| {
o.optopt("", "index-page", "Markdown file to be used as index page", "PATH")
}),
let default_passes = options.default_passes;
let output_format = options.output_format;
// FIXME: fix this clone (especially render_options)
- let externs = options.externs.clone();
let manual_passes = options.manual_passes.clone();
let render_options = options.render_options.clone();
let config = core::create_config(options);
// We need to hold on to the complete resolver, so we cause everything to be
// cloned for the analysis passes to use. Suboptimal, but necessary in the
// current architecture.
- let resolver = core::create_resolver(externs, queries, &sess);
+ let resolver = core::create_resolver(queries, &sess);
if sess.has_errors() {
sess.fatal("Compilation failed, aborting rustdoc");