Skip to content

Commit

Permalink
Rollup merge of #52093 - alexcrichton:update-issue, r=kennytm
Browse files Browse the repository at this point in the history
rustc: Update tracking issue for wasm_import_module

It's now #52090
  • Loading branch information
kennytm committed Jul 6, 2018
2 parents 20e32ee + 23fbfb5 commit 1a8011f
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 22 deletions.
41 changes: 24 additions & 17 deletions src/librustc/session/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1749,6 +1749,29 @@ pub fn parse_cfgspecs(cfgspecs: Vec<String>) -> ast::CrateConfig {
.collect::<ast::CrateConfig>()
}

pub fn get_cmd_lint_options(matches: &getopts::Matches,
error_format: ErrorOutputType)
-> (Vec<(String, lint::Level)>, bool, Option<lint::Level>) {
let mut lint_opts = vec![];
let mut describe_lints = false;

for &level in &[lint::Allow, lint::Warn, lint::Deny, lint::Forbid] {
for lint_name in matches.opt_strs(level.as_str()) {
if lint_name == "help" {
describe_lints = true;
} else {
lint_opts.push((lint_name.replace("-", "_"), level));
}
}
}

let lint_cap = matches.opt_str("cap-lints").map(|cap| {
lint::Level::from_str(&cap)
.unwrap_or_else(|| early_error(error_format, &format!("unknown lint level: `{}`", cap)))
});
(lint_opts, describe_lints, lint_cap)
}

pub fn build_session_options_and_crate_config(
matches: &getopts::Matches,
) -> (Options, ast::CrateConfig) {
Expand Down Expand Up @@ -1826,23 +1849,7 @@ pub fn build_session_options_and_crate_config(
let crate_types = parse_crate_types_from_list(unparsed_crate_types)
.unwrap_or_else(|e| early_error(error_format, &e[..]));

let mut lint_opts = vec![];
let mut describe_lints = false;

for &level in &[lint::Allow, lint::Warn, lint::Deny, lint::Forbid] {
for lint_name in matches.opt_strs(level.as_str()) {
if lint_name == "help" {
describe_lints = true;
} else {
lint_opts.push((lint_name.replace("-", "_"), level));
}
}
}

let lint_cap = matches.opt_str("cap-lints").map(|cap| {
lint::Level::from_str(&cap)
.unwrap_or_else(|| early_error(error_format, &format!("unknown lint level: `{}`", cap)))
});
let (lint_opts, describe_lints, lint_cap) = get_cmd_lint_options(matches, error_format);

let mut debugging_opts = build_debugging_options(matches, error_format);

Expand Down
9 changes: 7 additions & 2 deletions src/librustdoc/core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,10 @@ pub fn run_core(search_paths: SearchPaths,
force_unstable_if_unmarked: bool,
edition: Edition,
cg: CodegenOptions,
error_format: ErrorOutputType) -> (clean::Crate, RenderInfo)
error_format: ErrorOutputType,
cmd_lints: Vec<(String, lint::Level)>,
lint_cap: Option<lint::Level>,
describe_lints: bool) -> (clean::Crate, RenderInfo)
{
// Parse, resolve, and typecheck the given crate.

Expand All @@ -200,6 +203,7 @@ pub fn run_core(search_paths: SearchPaths,
Some((lint.name_lower(), lint::Allow))
}
})
.chain(cmd_lints.into_iter())
.collect::<Vec<_>>();

let host_triple = TargetTriple::from_triple(config::host_triple());
Expand All @@ -213,7 +217,7 @@ pub fn run_core(search_paths: SearchPaths,
} else {
vec![]
},
lint_cap: Some(lint::Forbid),
lint_cap: Some(lint_cap.unwrap_or_else(|| lint::Forbid)),
cg,
externs,
target_triple: triple.unwrap_or(host_triple),
Expand All @@ -226,6 +230,7 @@ pub fn run_core(search_paths: SearchPaths,
},
error_format,
edition,
describe_lints,
..config::basic_options()
};
driver::spawn_thread_pool(sessopts, move |sessopts| {
Expand Down
28 changes: 27 additions & 1 deletion src/librustdoc/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ use rustc::session::search_paths::SearchPaths;
use rustc::session::config::{ErrorOutputType, RustcOptGroup, Externs, CodegenOptions};
use rustc::session::config::{nightly_options, build_codegen_options};
use rustc_target::spec::TargetTriple;
use rustc::session::config::get_cmd_lint_options;

#[macro_use]
pub mod externalfiles;
Expand Down Expand Up @@ -308,6 +309,28 @@ pub fn opts() -> Vec<RustcOptGroup> {
"disable-minification",
"Disable minification applied on JS files")
}),
unstable("warn", |o| {
o.optmulti("W", "warn", "Set lint warnings", "OPT")
}),
unstable("allow", |o| {
o.optmulti("A", "allow", "Set lint allowed", "OPT")
}),
unstable("deny", |o| {
o.optmulti("D", "deny", "Set lint denied", "OPT")
}),
unstable("forbid", |o| {
o.optmulti("F", "forbid", "Set lint forbidden", "OPT")
}),
unstable("cap-lints", |o| {
o.optmulti(
"",
"cap-lints",
"Set the most restrictive lint level. \
More restrictive lints are capped at this \
level. By default, it is at `forbid` level.",
"LEVEL",
)
}),
]
}

Expand Down Expand Up @@ -640,6 +663,8 @@ where R: 'static + Send,
*x == "force-unstable-if-unmarked"
});

let (lint_opts, describe_lints, lint_cap) = get_cmd_lint_options(matches, error_format);

let (tx, rx) = channel();

rustc_driver::monitor(move || syntax::with_globals(move || {
Expand All @@ -648,7 +673,8 @@ where R: 'static + Send,
let (mut krate, renderinfo) =
core::run_core(paths, cfgs, externs, Input::File(cratefile), triple, maybe_sysroot,
display_warnings, crate_name.clone(),
force_unstable_if_unmarked, edition, cg, error_format);
force_unstable_if_unmarked, edition, cg, error_format,
lint_opts, lint_cap, describe_lints);

info!("finished with rustc");

Expand Down
2 changes: 1 addition & 1 deletion src/libsyntax/feature_gate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ declare_features! (
(active, wasm_custom_section, "1.26.0", Some(51088), None),

// The #![wasm_import_module] attribute
(active, wasm_import_module, "1.26.0", Some(51088), None),
(active, wasm_import_module, "1.26.0", Some(52090), None),

// Allows keywords to be escaped for use as identifiers
(active, raw_identifiers, "1.26.0", Some(48589), None),
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/feature-gate-wasm_import_module.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0658]: experimental attribute (see issue #51088)
error[E0658]: experimental attribute (see issue #52090)
--> $DIR/feature-gate-wasm_import_module.rs:11:1
|
LL | #[wasm_import_module = "test"] //~ ERROR: experimental
Expand Down

0 comments on commit 1a8011f

Please sign in to comment.