Skip to content

Commit

Permalink
Auto merge of #116818 - Nilstrieb:stop-submitting-bug-reports, r=wesl…
Browse files Browse the repository at this point in the history
…eywiser

Stop telling people to submit bugs for internal feature ICEs

This keeps track of usage of internal features, and changes the message to instead tell them that using internal features is not supported.

I thought about several ways to do this but now used the explicit threading of an `Arc<AtomicBool>` through `Session`. This is not exactly incremental-safe, but this is fine, as this is set during macro expansion, which is pre-incremental, and also only affects the output of ICEs, at which point incremental correctness doesn't matter much anyways.

See [MCP 620.](rust-lang/compiler-team#596)

![image](https://github.com/rust-lang/rust/assets/48135649/be661f05-b78a-40a9-b01d-81ad2dbdb690)
  • Loading branch information
bors committed Oct 26, 2023
2 parents 5f19fac + ebe63cd commit d914890
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ pub fn main() {

rustc_driver::init_rustc_env_logger(&handler);

rustc_driver::install_ice_hook(BUG_REPORT_URL, |handler| {
let using_internal_features = rustc_driver::install_ice_hook(BUG_REPORT_URL, |handler| {
// FIXME: this macro calls unwrap internally but is called in a panicking context! It's not
// as simple as moving the call from the hook to main, because `install_ice_hook` doesn't
// accept a generic closure.
Expand Down Expand Up @@ -265,9 +265,11 @@ pub fn main() {
let clippy_enabled = !cap_lints_allow && (!no_deps || in_primary_package);
if clippy_enabled {
args.extend(clippy_args);
rustc_driver::RunCompiler::new(&args, &mut ClippyCallbacks { clippy_args_var }).run()
rustc_driver::RunCompiler::new(&args, &mut ClippyCallbacks { clippy_args_var })
.set_using_internal_features(using_internal_features).run()
} else {
rustc_driver::RunCompiler::new(&args, &mut RustcCallbacks { clippy_args_var }).run()
rustc_driver::RunCompiler::new(&args, &mut RustcCallbacks { clippy_args_var })
.set_using_internal_features(using_internal_features).run()
}
}))
}
Expand Down

0 comments on commit d914890

Please sign in to comment.