From 84096e05304794138098395a230028756f9f3b83 Mon Sep 17 00:00:00 2001 From: Unreachable Date: Fri, 5 Apr 2019 03:05:33 +0000 Subject: [PATCH 01/13] improve docs for std::hint::unreachable_unchecked() --- src/libcore/hint.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libcore/hint.rs b/src/libcore/hint.rs index d43e6c49f4c99..cd4962d30df11 100644 --- a/src/libcore/hint.rs +++ b/src/libcore/hint.rs @@ -21,9 +21,8 @@ use intrinsics; /// difficult-to-debug problems. /// /// Use this function only when you can prove that the code will never call it. -/// -/// The [`unreachable!()`] macro is the safe counterpart of this function, which -/// will panic instead when executed. +/// Otherwise, consider using the [`unreachable!()`] macro, which does not allow +/// optimizations but will panic when executed. /// /// [`unreachable!()`]: ../macro.unreachable.html /// From 62a7bfd1ba299f451421306cb3705d697619359a Mon Sep 17 00:00:00 2001 From: Unreachable Date: Fri, 5 Apr 2019 17:42:09 +0000 Subject: [PATCH 02/13] Remove parens --- src/libcore/hint.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcore/hint.rs b/src/libcore/hint.rs index cd4962d30df11..89bf364096896 100644 --- a/src/libcore/hint.rs +++ b/src/libcore/hint.rs @@ -21,10 +21,10 @@ use intrinsics; /// difficult-to-debug problems. /// /// Use this function only when you can prove that the code will never call it. -/// Otherwise, consider using the [`unreachable!()`] macro, which does not allow +/// Otherwise, consider using the [`unreachable!`] macro, which does not allow /// optimizations but will panic when executed. /// -/// [`unreachable!()`]: ../macro.unreachable.html +/// [`unreachable!`]: ../macro.unreachable.html /// /// # Example /// From 13a05a27e9a5747cad090b1670c0a6b0baa624b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Thu, 11 Apr 2019 20:01:19 -0700 Subject: [PATCH 03/13] Continue evaluating after missing main --- src/librustc/middle/entry.rs | 1 - src/librustc_interface/passes.rs | 8 +++-- src/test/ui/continue-after-missing-main.rs | 32 +++++++++++++++++++ .../ui/continue-after-missing-main.stderr | 17 ++++++++++ 4 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 src/test/ui/continue-after-missing-main.rs create mode 100644 src/test/ui/continue-after-missing-main.stderr diff --git a/src/librustc/middle/entry.rs b/src/librustc/middle/entry.rs index c20454a8822cd..df77033ebef3b 100644 --- a/src/librustc/middle/entry.rs +++ b/src/librustc/middle/entry.rs @@ -163,7 +163,6 @@ fn configure_main( err.span_note(span, "here is a function named 'main'"); } err.emit(); - tcx.sess.abort_if_errors(); } else { if let Some(ref filename) = tcx.sess.local_crate_source_file { err.note(&format!("consider adding a `main` function to `{}`", filename.display())); diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 1547e15fd48c5..dc43d3c1aca2a 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -888,10 +888,11 @@ fn analysis<'tcx>( assert_eq!(cnum, LOCAL_CRATE); let sess = tcx.sess; + let mut entry_point = None; time(sess, "misc checking 1", || { parallel!({ - time(sess, "looking for entry point", || { + entry_point = time(sess, "looking for entry point", || { middle::entry::find_entry_point(tcx) }); @@ -939,7 +940,10 @@ fn analysis<'tcx>( // Abort so we don't try to construct MIR with liveness errors. // We also won't want to continue with errors from rvalue promotion - tcx.sess.abort_if_errors(); + // We only do so if the only error found so far *isn't* a missing `fn main()` + if !(entry_point.is_none() && sess.err_count() == 1) { + tcx.sess.abort_if_errors(); + } time(sess, "borrow checking", || { if tcx.use_ast_borrowck() { diff --git a/src/test/ui/continue-after-missing-main.rs b/src/test/ui/continue-after-missing-main.rs new file mode 100644 index 0000000000000..7455c2a431d62 --- /dev/null +++ b/src/test/ui/continue-after-missing-main.rs @@ -0,0 +1,32 @@ +#![allow(dead_code)] + +// error-pattern:`main` function not found in crate + +struct Tableau<'a, MP> { + provider: &'a MP, +} + +impl<'adapted_matrix_provider, 'original_data, MP> + Tableau<'adapted_matrix_provider, AdaptedMatrixProvider<'original_data, MP>> +{ + fn provider(&self) -> &'adapted_matrix_provider AdaptedMatrixProvider { + self.provider + } +} + +struct AdaptedMatrixProvider<'a, T> { + original_problem: &'a T, +} + +impl<'a, T> AdaptedMatrixProvider<'a, T> { + fn clone_with_extra_bound(&self) -> Self { + AdaptedMatrixProvider { original_problem: self.original_problem } + } +} + +fn create_and_solve_subproblems<'data_provider, 'original_data, MP>( + tableau: Tableau<'data_provider, AdaptedMatrixProvider<'original_data, MP>>, +) { + let _: AdaptedMatrixProvider<'original_data, MP> = tableau.provider().clone_with_extra_bound(); + //~^ ERROR lifetime mismatch +} diff --git a/src/test/ui/continue-after-missing-main.stderr b/src/test/ui/continue-after-missing-main.stderr new file mode 100644 index 0000000000000..8d64fee8bdaee --- /dev/null +++ b/src/test/ui/continue-after-missing-main.stderr @@ -0,0 +1,17 @@ +error[E0601]: `main` function not found in crate `continue_after_missing_main` + | + = note: consider adding a `main` function to `$DIR/continue-after-missing-main.rs` + +error[E0623]: lifetime mismatch + --> $DIR/continue-after-missing-main.rs:30:56 + | +LL | tableau: Tableau<'data_provider, AdaptedMatrixProvider<'original_data, MP>>, + | ------------------------------------------------------------------ these two types are declared with different lifetimes... +LL | ) { +LL | let _: AdaptedMatrixProvider<'original_data, MP> = tableau.provider().clone_with_extra_bound(); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...but data from `tableau` flows into `tableau` here + +error: aborting due to 2 previous errors + +Some errors occurred: E0601, E0623. +For more information about an error, try `rustc --explain E0601`. From bc428b57a1274dd8b80a77b4f20d4a014aea1aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20K=C3=A5re=20Alsaker?= Date: Sat, 6 Apr 2019 18:07:53 +0200 Subject: [PATCH 04/13] Limit dylib symbols --- src/librustc_codegen_ssa/back/linker.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs index c99fc17dd89a1..8884edbb24816 100644 --- a/src/librustc_codegen_ssa/back/linker.rs +++ b/src/librustc_codegen_ssa/back/linker.rs @@ -372,15 +372,11 @@ impl<'a> Linker for GccLinker<'a> { } fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType) { - // If we're compiling a dylib, then we let symbol visibility in object - // files to take care of whether they're exported or not. - // - // If we're compiling a cdylib, however, we manually create a list of - // exported symbols to ensure we don't expose any more. The object files - // have far more public symbols than we actually want to export, so we - // hide them all here. - if crate_type == CrateType::Dylib || - crate_type == CrateType::ProcMacro { + // We manually create a list of exported symbols to ensure we don't expose any more. + // The object files have far more public symbols than we actually want to export, + // so we hide them all here. + + if crate_type == CrateType::ProcMacro { return } From b20f0440889dba46cf975fa2b444889c881af875 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 14 Apr 2019 22:35:42 +0200 Subject: [PATCH 05/13] bump bootstrap => 2019-04-11 --- src/stage0.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stage0.txt b/src/stage0.txt index 43610f9068f57..17dba63054eac 100644 --- a/src/stage0.txt +++ b/src/stage0.txt @@ -12,7 +12,7 @@ # source tarball for a stable release you'll likely see `1.x.0` for rustc and # `0.x.0` for Cargo where they were released on `date`. -date: 2019-03-20 +date: 2019-04-11 rustc: beta cargo: beta From 84e6bdf4a6969223faecc364828ccd2d607aab11 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 14 Apr 2019 23:29:22 +0200 Subject: [PATCH 06/13] bump bootstrap; remove redundant imports. --- src/bootstrap/lib.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index bcd28e9cf5e70..fb60b470a36f2 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -1125,8 +1125,6 @@ impl Build { /// `rust.save-toolstates` in `config.toml`. If unspecified, nothing will be /// done. The file is updated immediately after this function completes. pub fn save_toolstate(&self, tool: &str, state: ToolState) { - use std::io::{Seek, SeekFrom}; - if let Some(ref path) = self.config.save_toolstates { let mut file = t!(fs::OpenOptions::new() .create(true) From 63a320b1ed9a43b537f31bc15a6c081933f6643d Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Mon, 15 Apr 2019 04:05:37 +0200 Subject: [PATCH 07/13] bump bootstrap; fix compiletest wrt. exclude_should_panic --- src/tools/compiletest/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs index 9e3c49119deaf..431fd7969be06 100644 --- a/src/tools/compiletest/src/main.rs +++ b/src/tools/compiletest/src/main.rs @@ -523,6 +523,7 @@ pub fn run_tests(config: &Config) { pub fn test_opts(config: &Config) -> test::TestOpts { test::TestOpts { + exclude_should_panic: false, filter: config.filter.clone(), filter_exact: config.filter_exact, run_ignored: if config.run_ignored { From 707e3300cd43e369fba7e439f33b777909c494b4 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Mon, 15 Apr 2019 04:37:47 +0200 Subject: [PATCH 08/13] bump bootstrap; nightly => 1.36. --- src/bootstrap/channel.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bootstrap/channel.rs b/src/bootstrap/channel.rs index e42b073322e28..a6da4f5385a5b 100644 --- a/src/bootstrap/channel.rs +++ b/src/bootstrap/channel.rs @@ -13,7 +13,7 @@ use build_helper::output; use crate::Build; // The version number -pub const CFG_RELEASE_NUM: &str = "1.35.0"; +pub const CFG_RELEASE_NUM: &str = "1.36.0"; pub struct GitInfo { inner: Option, From 017479726e8ab023feb4a4d4cc7086bfc9e020ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20K=C3=A5re=20Alsaker?= Date: Sun, 14 Apr 2019 19:05:21 +0200 Subject: [PATCH 09/13] Add a limit_rdylib_exports option and disable it for Solaris --- src/librustc_codegen_ssa/back/linker.rs | 11 ++++------- src/librustc_target/spec/mod.rs | 6 ++++++ src/librustc_target/spec/solaris_base.rs | 1 + src/librustc_target/spec/wasm32_base.rs | 5 +++++ .../spec/wasm32_experimental_emscripten.rs | 1 + src/librustc_target/spec/wasm32_unknown_emscripten.rs | 1 + 6 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs index 8884edbb24816..b433856d5e130 100644 --- a/src/librustc_codegen_ssa/back/linker.rs +++ b/src/librustc_codegen_ssa/back/linker.rs @@ -376,15 +376,12 @@ impl<'a> Linker for GccLinker<'a> { // The object files have far more public symbols than we actually want to export, // so we hide them all here. - if crate_type == CrateType::ProcMacro { - return + if !self.sess.target.target.options.limit_rdylib_exports { + return; } - // Symbol visibility takes care of this for the WebAssembly. - // Additionally the only known linker, LLD, doesn't support the script - // arguments just yet - if self.sess.target.target.arch == "wasm32" { - return; + if crate_type == CrateType::ProcMacro { + return } let mut arg = OsString::new(); diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs index 46fefd78f4519..64799324f6a55 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs @@ -751,6 +751,9 @@ pub struct TargetOptions { /// wasm32 where the whole program either has simd or not. pub simd_types_indirect: bool, + /// Pass a list of symbol which should be exported in the dylib to the linker. + pub limit_rdylib_exports: bool, + /// If set, have the linker export exactly these symbols, instead of using /// the usual logic to figure this out from the crate itself. pub override_export_symbols: Option>, @@ -846,6 +849,7 @@ impl Default for TargetOptions { emit_debug_gdb_scripts: true, requires_uwtable: false, simd_types_indirect: true, + limit_rdylib_exports: true, override_export_symbols: None, merge_functions: MergeFunctions::Aliases, target_mcount: "mcount".to_string(), @@ -1152,6 +1156,7 @@ impl Target { key!(emit_debug_gdb_scripts, bool); key!(requires_uwtable, bool); key!(simd_types_indirect, bool); + key!(limit_rdylib_exports, bool); key!(override_export_symbols, opt_list); key!(merge_functions, MergeFunctions)?; key!(target_mcount); @@ -1367,6 +1372,7 @@ impl ToJson for Target { target_option_val!(emit_debug_gdb_scripts); target_option_val!(requires_uwtable); target_option_val!(simd_types_indirect); + target_option_val!(limit_rdylib_exports); target_option_val!(override_export_symbols); target_option_val!(merge_functions); target_option_val!(target_mcount); diff --git a/src/librustc_target/spec/solaris_base.rs b/src/librustc_target/spec/solaris_base.rs index 0dfbb13b77317..9e7eda037732b 100644 --- a/src/librustc_target/spec/solaris_base.rs +++ b/src/librustc_target/spec/solaris_base.rs @@ -8,6 +8,7 @@ pub fn opts() -> TargetOptions { has_rpath: true, target_family: Some("unix".to_string()), is_like_solaris: true, + limit_rdylib_exports: false, // Linker doesn't support this .. Default::default() } diff --git a/src/librustc_target/spec/wasm32_base.rs b/src/librustc_target/spec/wasm32_base.rs index edaf902c130d8..39a8ce9282573 100644 --- a/src/librustc_target/spec/wasm32_base.rs +++ b/src/librustc_target/spec/wasm32_base.rs @@ -106,6 +106,11 @@ pub fn options() -> TargetOptions { // no dynamic linking, no need for default visibility! default_hidden_visibility: true, + // Symbol visibility takes care of this for the WebAssembly. + // Additionally the only known linker, LLD, doesn't support the script + // arguments just yet + limit_rdylib_exports: false, + // we use the LLD shipped with the Rust toolchain by default linker: Some("rust-lld".to_owned()), lld_flavor: LldFlavor::Wasm, diff --git a/src/librustc_target/spec/wasm32_experimental_emscripten.rs b/src/librustc_target/spec/wasm32_experimental_emscripten.rs index 5ecd66306d055..b802bee25ae7a 100644 --- a/src/librustc_target/spec/wasm32_experimental_emscripten.rs +++ b/src/librustc_target/spec/wasm32_experimental_emscripten.rs @@ -24,6 +24,7 @@ pub fn target() -> Result { is_like_emscripten: true, max_atomic_width: Some(32), post_link_args, + limit_rdylib_exports: false, target_family: Some("unix".to_string()), .. Default::default() }; diff --git a/src/librustc_target/spec/wasm32_unknown_emscripten.rs b/src/librustc_target/spec/wasm32_unknown_emscripten.rs index a6e9340ce28ef..e0df36884bf56 100644 --- a/src/librustc_target/spec/wasm32_unknown_emscripten.rs +++ b/src/librustc_target/spec/wasm32_unknown_emscripten.rs @@ -26,6 +26,7 @@ pub fn target() -> Result { is_like_emscripten: true, max_atomic_width: Some(32), post_link_args, + limit_rdylib_exports: false, target_family: Some("unix".to_string()), codegen_backend: "emscripten".to_string(), .. Default::default() From 1c0e1c10d5c6463147690aba7696a7cbcf2840a1 Mon Sep 17 00:00:00 2001 From: QuietMisdreavus Date: Mon, 15 Apr 2019 11:20:08 -0500 Subject: [PATCH 10/13] use --static-root-path for settings.js --- src/librustdoc/html/render.rs | 3 ++- src/test/rustdoc/static-root-path.rs | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 3ee131d8f5c8c..d91b78c8416b8 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -2113,7 +2113,8 @@ impl Context { &final_file); // Generating settings page. - let settings = Settings::new("./", &self.shared.resource_suffix); + let settings = Settings::new(self.shared.static_root_path.deref().unwrap_or("./"), + &self.shared.resource_suffix); page.title = "Rustdoc settings"; page.description = "Settings of Rustdoc"; page.root_path = "./"; diff --git a/src/test/rustdoc/static-root-path.rs b/src/test/rustdoc/static-root-path.rs index 84b32f90c89a4..2f7c89c5f1e6b 100644 --- a/src/test/rustdoc/static-root-path.rs +++ b/src/test/rustdoc/static-root-path.rs @@ -12,3 +12,7 @@ pub struct SomeStruct; // @!matches - '"\.\./\.\./source-script\.js"' // @matches - '"\.\./\.\./source-files.js"' // @!matches - '"/cache/source-files\.js"' + +// @has settings.html +// @matches - '/cache/settings\.js' +// @!matches - '\./settings\.js' From 72b2f238386ea25261aa53432f410b6ac8cd9836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Mon, 15 Apr 2019 13:35:08 +0200 Subject: [PATCH 11/13] Deny `internal` in stage0 --- src/bootstrap/bin/rustc.rs | 4 +--- src/libarena/lib.rs | 2 +- src/libfmt_macros/lib.rs | 2 +- src/librustc/lib.rs | 2 +- src/librustc/ty/mod.rs | 2 +- src/librustc_allocator/lib.rs | 2 +- src/librustc_borrowck/lib.rs | 2 +- src/librustc_codegen_ssa/lib.rs | 2 +- src/librustc_codegen_utils/lib.rs | 2 +- src/librustc_driver/lib.rs | 2 +- src/librustc_errors/lib.rs | 2 +- src/librustc_incremental/lib.rs | 2 +- src/librustc_interface/lib.rs | 2 +- src/librustc_lint/lib.rs | 2 +- src/librustc_metadata/lib.rs | 2 +- src/librustc_mir/lib.rs | 2 +- src/librustc_passes/lib.rs | 2 +- src/librustc_privacy/lib.rs | 2 +- src/librustc_resolve/lib.rs | 2 +- src/librustc_save_analysis/lib.rs | 2 +- src/librustc_target/lib.rs | 2 +- src/librustc_traits/lib.rs | 2 +- src/librustc_typeck/lib.rs | 2 +- src/librustdoc/lib.rs | 2 +- src/libsyntax/lib.rs | 2 +- src/libsyntax_ext/lib.rs | 2 +- src/libsyntax_pos/lib.rs | 2 +- 27 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs index a76584093fc76..a8f0d24ce63db 100644 --- a/src/bootstrap/bin/rustc.rs +++ b/src/bootstrap/bin/rustc.rs @@ -290,9 +290,7 @@ fn main() { } // This is required for internal lints. - if stage != "0" { - cmd.arg("-Zunstable-options"); - } + cmd.arg("-Zunstable-options"); // Force all crates compiled by this compiler to (a) be unstable and (b) // allow the `rustc_private` feature to link to other unstable crates diff --git a/src/libarena/lib.rs b/src/libarena/lib.rs index cfe317a00f906..ce5e5f23a94b8 100644 --- a/src/libarena/lib.rs +++ b/src/libarena/lib.rs @@ -12,7 +12,7 @@ test(no_crate_inject, attr(deny(warnings))))] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(core_intrinsics)] #![feature(dropck_eyepatch)] diff --git a/src/libfmt_macros/lib.rs b/src/libfmt_macros/lib.rs index 2536121c7a324..6fed83021609d 100644 --- a/src/libfmt_macros/lib.rs +++ b/src/libfmt_macros/lib.rs @@ -9,7 +9,7 @@ test(attr(deny(warnings))))] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(nll)] #![feature(rustc_private)] diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs index c5c2cbfcb8940..4cbf8e3ecfc66 100644 --- a/src/librustc/lib.rs +++ b/src/librustc/lib.rs @@ -29,7 +29,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![allow(explicit_outlives_requirements)] #![feature(arbitrary_self_types)] diff --git a/src/librustc/ty/mod.rs b/src/librustc/ty/mod.rs index d24395ac9c182..4aca01d9411c7 100644 --- a/src/librustc/ty/mod.rs +++ b/src/librustc/ty/mod.rs @@ -1,4 +1,4 @@ -#![cfg_attr(not(stage0), allow(usage_of_ty_tykind))] +#![allow(usage_of_ty_tykind)] pub use self::Variance::*; pub use self::AssociatedItemContainer::*; diff --git a/src/librustc_allocator/lib.rs b/src/librustc_allocator/lib.rs index a9e422fb238b8..3aef5a76a3a05 100644 --- a/src/librustc_allocator/lib.rs +++ b/src/librustc_allocator/lib.rs @@ -2,7 +2,7 @@ #![feature(rustc_private)] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] pub mod expand; diff --git a/src/librustc_borrowck/lib.rs b/src/librustc_borrowck/lib.rs index 3761a52bcccf2..14bc77f380acc 100644 --- a/src/librustc_borrowck/lib.rs +++ b/src/librustc_borrowck/lib.rs @@ -2,7 +2,7 @@ #![allow(non_camel_case_types)] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(nll)] diff --git a/src/librustc_codegen_ssa/lib.rs b/src/librustc_codegen_ssa/lib.rs index e2917578c0ece..c6e689f2e83c3 100644 --- a/src/librustc_codegen_ssa/lib.rs +++ b/src/librustc_codegen_ssa/lib.rs @@ -14,7 +14,7 @@ #![allow(unused_attributes)] #![allow(dead_code)] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![allow(explicit_outlives_requirements)] #![recursion_limit="256"] diff --git a/src/librustc_codegen_utils/lib.rs b/src/librustc_codegen_utils/lib.rs index 330cfe154e302..437515f1e9ab4 100644 --- a/src/librustc_codegen_utils/lib.rs +++ b/src/librustc_codegen_utils/lib.rs @@ -16,7 +16,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #[macro_use] extern crate rustc; diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 66c7c9d0eae7e..6a5accc8d7f05 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -17,7 +17,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] pub extern crate getopts; #[cfg(unix)] diff --git a/src/librustc_errors/lib.rs b/src/librustc_errors/lib.rs index 71bef54cd17a1..cb45e13c4d2dc 100644 --- a/src/librustc_errors/lib.rs +++ b/src/librustc_errors/lib.rs @@ -6,7 +6,7 @@ #![feature(nll)] #![feature(optin_builtin_traits)] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #[allow(unused_extern_crates)] extern crate serialize as rustc_serialize; // used by deriving diff --git a/src/librustc_incremental/lib.rs b/src/librustc_incremental/lib.rs index d7db324f3463e..eb82885abee06 100644 --- a/src/librustc_incremental/lib.rs +++ b/src/librustc_incremental/lib.rs @@ -8,7 +8,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #[macro_use] extern crate rustc; #[allow(unused_extern_crates)] diff --git a/src/librustc_interface/lib.rs b/src/librustc_interface/lib.rs index 353ff6a57a5ef..d1e2a1a4ad506 100644 --- a/src/librustc_interface/lib.rs +++ b/src/librustc_interface/lib.rs @@ -7,7 +7,7 @@ #![cfg_attr(unix, feature(libc))] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![allow(unused_imports)] diff --git a/src/librustc_lint/lib.rs b/src/librustc_lint/lib.rs index 4a2d6dc68ae59..f91a66616a0f5 100644 --- a/src/librustc_lint/lib.rs +++ b/src/librustc_lint/lib.rs @@ -20,7 +20,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #[macro_use] extern crate rustc; diff --git a/src/librustc_metadata/lib.rs b/src/librustc_metadata/lib.rs index 4078171733fc3..d052e13f9c0a7 100644 --- a/src/librustc_metadata/lib.rs +++ b/src/librustc_metadata/lib.rs @@ -14,7 +14,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] extern crate libc; #[allow(unused_extern_crates)] diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index deeed9a0b9846..a16eaf011c86e 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -28,7 +28,7 @@ Rust MIR: a lowered representation of Rust. Also: an experiment! #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![allow(explicit_outlives_requirements)] #[macro_use] extern crate log; diff --git a/src/librustc_passes/lib.rs b/src/librustc_passes/lib.rs index 20442a4a566ec..db8fcaa569389 100644 --- a/src/librustc_passes/lib.rs +++ b/src/librustc_passes/lib.rs @@ -12,7 +12,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #[macro_use] extern crate rustc; diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index 44621e5dc95d1..ef315c5f95502 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -1,7 +1,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(nll)] #![feature(rustc_diagnostic_macros)] diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 96aac97729797..864fc2ebaec77 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -9,7 +9,7 @@ #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] pub use rustc::hir::def::{Namespace, PerNS}; diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index ce0decaee496f..d901fb2bff8c7 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -2,7 +2,7 @@ #![feature(custom_attribute)] #![feature(nll)] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![allow(unused_attributes)] #![recursion_limit="256"] diff --git a/src/librustc_target/lib.rs b/src/librustc_target/lib.rs index f1812c20dccde..3fcf08adb5c8e 100644 --- a/src/librustc_target/lib.rs +++ b/src/librustc_target/lib.rs @@ -16,7 +16,7 @@ #![feature(step_trait)] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #[macro_use] extern crate log; diff --git a/src/librustc_traits/lib.rs b/src/librustc_traits/lib.rs index bc034e1fb1627..959130f1cf228 100644 --- a/src/librustc_traits/lib.rs +++ b/src/librustc_traits/lib.rs @@ -2,7 +2,7 @@ //! the guts are broken up into modules; see the comments in those modules. #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(crate_visibility_modifier)] #![feature(in_band_lifetimes)] diff --git a/src/librustc_typeck/lib.rs b/src/librustc_typeck/lib.rs index 21d1af229ddc2..4320e28d676ed 100644 --- a/src/librustc_typeck/lib.rs +++ b/src/librustc_typeck/lib.rs @@ -71,7 +71,7 @@ This API is completely unstable and subject to change. #![recursion_limit="256"] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![allow(explicit_outlives_requirements)] #[macro_use] extern crate log; diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 6cb937d9216ac..5b76f6861de79 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -1,5 +1,5 @@ #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/", html_playground_url = "https://play.rust-lang.org/")] diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index 9905b981395c0..1486909b27692 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -8,7 +8,7 @@ test(attr(deny(warnings))))] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(crate_visibility_modifier)] #![feature(label_break_value)] diff --git a/src/libsyntax_ext/lib.rs b/src/libsyntax_ext/lib.rs index ee0b86963f31d..8371d27207589 100644 --- a/src/libsyntax_ext/lib.rs +++ b/src/libsyntax_ext/lib.rs @@ -3,7 +3,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(in_band_lifetimes)] #![feature(proc_macro_diagnostic)] diff --git a/src/libsyntax_pos/lib.rs b/src/libsyntax_pos/lib.rs index 81cf804cf0b73..fdff4d738c221 100644 --- a/src/libsyntax_pos/lib.rs +++ b/src/libsyntax_pos/lib.rs @@ -7,7 +7,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] #![deny(rust_2018_idioms)] -#![cfg_attr(not(stage0), deny(internal))] +#![deny(internal)] #![feature(const_fn)] #![feature(crate_visibility_modifier)] From 4eb3ac3ce6c6ab591dfa6dd4f26eb8333c9b4a63 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Mon, 15 Apr 2019 12:47:33 -0700 Subject: [PATCH 12/13] Update cargo --- src/tools/cargo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/cargo b/src/tools/cargo index 6f3e9c367abb4..ef0223f12597b 160000 --- a/src/tools/cargo +++ b/src/tools/cargo @@ -1 +1 @@ -Subproject commit 6f3e9c367abb497c64f360c3839dab5e74928d5c +Subproject commit ef0223f12597b5e0d9d2feed1b92c41306b1fc05 From 3db489bdcfcf2c31034194a30ca60a7cc2ba5adb Mon Sep 17 00:00:00 2001 From: Pietro Albini Date: Mon, 15 Apr 2019 23:52:59 +0200 Subject: [PATCH 13/13] add repo-specific triagebot configuration --- triagebot.toml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 triagebot.toml diff --git a/triagebot.toml b/triagebot.toml new file mode 100644 index 0000000000000..6f60481600c2e --- /dev/null +++ b/triagebot.toml @@ -0,0 +1,6 @@ +[relabel] +allow-unauthenticated = [ + "C-*", "A-*", "E-*", "NLL-*", "O-*", "S-*", "T-*", "WG-*", + # I-* without I-nominated + "I-compilemem", "I-compiletime", "I-crash", "I-hang", "I-ICE", "I-slow", +]