diff options
| author | bors <bors@rust-lang.org> | 2021-08-16 22:33:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-08-16 22:33:36 +0000 |
| commit | 0e41c6201f7a3f1823b3b668da61577d89bf76d4 (patch) | |
| tree | ee3c36d4a57deb92debf5dba98f9f36d849c4c05 /src | |
| parent | 0035d9dcecee49d1f7349932bfa52c05a6f83641 (diff) | |
| parent | d5ec5aa78322f8075d8b62906d32a6f89ef1d500 (diff) | |
Auto merge of #88094 - m-ou-se:rollup-2fxss0q, r=m-ou-se
Rollup of 10 pull requests Successful merges: - #87178 ([rustdoc] Copy only item path to clipboard rather than full `use` statement.) - #87677 (Adding explicit notice of lack of documentation for Tier 2 Platforms) - #87958 (Closure migration multispan suggestions) - #87967 (Detect fake spans in non_fmt_panic lint.) - #88011 (Enable `--all-targets` for `x.py check` unconditionally) - #88030 (Assign FIXMEs to me and remove obsolete ones) - #88052 (Update redox_syscall) - #88055 (Update RELEASES.md for 1.55.0) - #88080 (Skip assert ICE with default_method_body_is_const) - #88089 (Rustdoc font test) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'src')
18 files changed, 131 insertions, 200 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 3904c718a25..e2f34826111 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -578,7 +578,7 @@ impl<'a> Builder<'a> { pub fn new(build: &Build) -> Builder<'_> { let (kind, paths) = match build.config.cmd { Subcommand::Build { ref paths } => (Kind::Build, &paths[..]), - Subcommand::Check { ref paths, all_targets: _ } => (Kind::Check, &paths[..]), + Subcommand::Check { ref paths } => (Kind::Check, &paths[..]), Subcommand::Clippy { ref paths, .. } => (Kind::Clippy, &paths[..]), Subcommand::Fix { ref paths } => (Kind::Fix, &paths[..]), Subcommand::Doc { ref paths, .. } => (Kind::Doc, &paths[..]), diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs index bc106746e57..4eb335979b9 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -113,38 +113,35 @@ impl Step for Std { // since we initialize with an empty sysroot. // // Currently only the "libtest" tree of crates does this. + let mut cargo = builder.cargo( + compiler, + Mode::Std, + SourceType::InTree, + target, + cargo_subcommand(builder.kind), + ); + cargo.arg("--all-targets"); + std_cargo(builder, target, compiler.stage, &mut cargo); - if let Subcommand::Check { all_targets: true, .. } = builder.config.cmd { - let mut cargo = builder.cargo( - compiler, - Mode::Std, - SourceType::InTree, - target, - cargo_subcommand(builder.kind), - ); - std_cargo(builder, target, compiler.stage, &mut cargo); - cargo.arg("--all-targets"); - - // Explicitly pass -p for all dependencies krates -- this will force cargo - // to also check the tests/benches/examples for these crates, rather - // than just the leaf crate. - for krate in builder.in_tree_crates("test", Some(target)) { - cargo.arg("-p").arg(krate.name); - } - - builder.info(&format!( - "Checking stage{} std test/bench/example targets ({} -> {})", - builder.top_stage, &compiler.host, target - )); - run_cargo( - builder, - cargo, - args(builder), - &libstd_test_stamp(builder, compiler, target), - vec![], - true, - ); + // Explicitly pass -p for all dependencies krates -- this will force cargo + // to also check the tests/benches/examples for these crates, rather + // than just the leaf crate. + for krate in builder.in_tree_crates("test", Some(target)) { + cargo.arg("-p").arg(krate.name); } + + builder.info(&format!( + "Checking stage{} std test/bench/example targets ({} -> {})", + builder.top_stage, &compiler.host, target + )); + run_cargo( + builder, + cargo, + args(builder), + &libstd_test_stamp(builder, compiler, target), + vec![], + true, + ); } } @@ -195,9 +192,7 @@ impl Step for Rustc { cargo_subcommand(builder.kind), ); rustc_cargo(builder, &mut cargo, target); - if let Subcommand::Check { all_targets: true, .. } = builder.config.cmd { - cargo.arg("--all-targets"); - } + cargo.arg("--all-targets"); // Explicitly pass -p for all compiler krates -- this will force cargo // to also check the tests/benches/examples for these crates, rather @@ -318,10 +313,7 @@ macro_rules! tool_check_step { $source_type, &[], ); - - if let Subcommand::Check { all_targets: true, .. } = builder.config.cmd { - cargo.arg("--all-targets"); - } + cargo.arg("--all-targets"); // Enable internal lints for clippy and rustdoc // NOTE: this doesn't enable lints for any other tools unless they explicitly add `#![warn(rustc::internal)]` diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs index 7b74a909c28..80c33fa4d7c 100644 --- a/src/bootstrap/flags.rs +++ b/src/bootstrap/flags.rs @@ -78,9 +78,6 @@ pub enum Subcommand { paths: Vec<PathBuf>, }, Check { - // Whether to run checking over all targets (e.g., unit / integration - // tests). - all_targets: bool, paths: Vec<PathBuf>, }, Clippy { @@ -553,7 +550,12 @@ Arguments: let cmd = match subcommand.as_str() { "build" | "b" => Subcommand::Build { paths }, "check" | "c" => { - Subcommand::Check { paths, all_targets: matches.opt_present("all-targets") } + if matches.opt_present("all-targets") { + eprintln!( + "Warning: --all-targets is now on by default and does not need to be passed explicitly." + ); + } + Subcommand::Check { paths } } "clippy" => Subcommand::Clippy { paths, fix: matches.opt_present("fix") }, "fix" => Subcommand::Fix { paths }, diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md index 0bfe35ea861..6da0703beac 100644 --- a/src/doc/rustc/src/platform-support.md +++ b/src/doc/rustc/src/platform-support.md @@ -73,6 +73,8 @@ Tier Policy. All tier 2 targets with host tools support the full standard library. +**NOTE:** Tier 2 targets currently do not build the `rust-docs` component. + target | notes -------|------- `aarch64-apple-darwin` | ARM64 macOS (11.0+, Big Sur+) @@ -112,6 +114,8 @@ The `std` column in the table below has the following meanings: [`no_std`]: https://rust-embedded.github.io/book/intro/no-std.html +**NOTE:** Tier 2 targets currently do not build the `rust-docs` component. + target | std | notes -------|:---:|------- `aarch64-apple-ios` | ✓ | ARM64 iOS diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index f31305c76e6..a3b01a59f27 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -85,11 +85,10 @@ pub(super) fn print_item(cx: &Context<'_>, item: &clean::Item, buf: &mut Buffer, write!(buf, "<a class=\"{}\" href=\"#\">{}</a>", item.type_(), item.name.as_ref().unwrap()); write!( buf, - "<button id=\"copy-path\" onclick=\"copy_path(this)\" title=\"copy path\">\ + "<button id=\"copy-path\" onclick=\"copy_path(this)\" title=\"Copy item path to clipboard\">\ <img src=\"{static_root_path}clipboard{suffix}.svg\" \ width=\"19\" height=\"18\" \ - alt=\"Copy item import\" \ - title=\"Copy item import to clipboard\">\ + alt=\"Copy item path\">\ </button>", static_root_path = page.get_static_root_path(), suffix = page.resource_suffix, diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 869aff53766..1eebd392564 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -986,7 +986,7 @@ function hideThemeButtonState() { }); var el = document.createElement('textarea'); - el.value = 'use ' + path.join('::') + ';'; + el.value = path.join('::'); el.setAttribute('readonly', ''); // To not make it appear on the screen. el.style.position = 'absolute'; diff --git a/src/test/rustdoc-gui/module-items-font.goml b/src/test/rustdoc-gui/module-items-font.goml index 817b148bee1..ab595d28019 100644 --- a/src/test/rustdoc-gui/module-items-font.goml +++ b/src/test/rustdoc-gui/module-items-font.goml @@ -2,3 +2,22 @@ goto: file://|DOC_PATH|/test_docs/index.html assert-css: (".item-table .module-item a", {"font-family": '"Fira Sans", Arial, sans-serif'}, ALL) assert-css: (".item-table .docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}, ALL) + +// modules +assert-css: ("#modules + .item-table .item-left a", {"font-family": '"Fira Sans", Arial, sans-serif'}) +assert-css: ("#modules + .item-table .item-right.docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}) +// structs +assert-css: ("#structs + .item-table .item-left a", {"font-family": '"Fira Sans", Arial, sans-serif'}) +assert-css: ("#structs + .item-table .item-right.docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}) +// enums +assert-css: ("#enums + .item-table .item-left a", {"font-family": '"Fira Sans", Arial, sans-serif'}) +assert-css: ("#enums + .item-table .item-right.docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}) +// traits +assert-css: ("#traits + .item-table .item-left a", {"font-family": '"Fira Sans", Arial, sans-serif'}) +assert-css: ("#traits + .item-table .item-right.docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}) +// functions +assert-css: ("#functions + .item-table .item-left a", {"font-family": '"Fira Sans", Arial, sans-serif'}) +assert-css: ("#functions + .item-table .item-right.docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}) +// keywords +assert-css: ("#keywords + .item-table .item-left a", {"font-family": '"Fira Sans", Arial, sans-serif'}) +assert-css: ("#keywords + .item-table .item-right.docblock-short", {"font-family": '"Source Serif 4", "Noto Sans KR", serif'}) diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr index e8dd81ede25..98396abb6ff 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr @@ -16,11 +16,11 @@ LL | #![deny(rust_2021_incompatible_closure_captures)] help: add a dummy let to cause `fptr` to be fully captured | LL ~ thread::spawn(move || { let _ = &fptr; unsafe { -LL + -LL + -LL + -LL + -LL + *fptr.0 = 20; +LL | +LL | +LL | +LL | +LL | *fptr.0 = 20; ... error: changes to closure capture in Rust 2021 will affect `Sync`, `Send` trait implementation for closure @@ -36,11 +36,11 @@ LL | *fptr.0.0 = 20; help: add a dummy let to cause `fptr` to be fully captured | LL ~ thread::spawn(move || { let _ = &fptr; unsafe { -LL + -LL + -LL + -LL + -LL + *fptr.0.0 = 20; +LL | +LL | +LL | +LL | +LL | *fptr.0.0 = 20; ... error: changes to closure capture in Rust 2021 will affect `Clone` trait implementation for closure and drop order @@ -60,11 +60,7 @@ help: add a dummy let to cause `f` to be fully captured | LL ~ let c = || { LL + let _ = &f; -LL + -LL + -LL + -LL + - ... + | error: aborting due to 3 previous errors diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr index b719b89f5fc..7989a8fa5cc 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr @@ -30,11 +30,7 @@ help: add a dummy let to cause `t`, `t1`, `t2` to be fully captured | LL ~ let c = || { LL + let _ = (&t, &t1, &t2); -LL + -LL + -LL + -LL + - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop.rs:41:13 @@ -59,11 +55,7 @@ help: add a dummy let to cause `t`, `t1` to be fully captured | LL ~ let c = || { LL + let _ = (&t, &t1); -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop.rs:62:13 @@ -82,11 +74,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop.rs:83:13 @@ -105,11 +93,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop.rs:104:13 @@ -128,11 +112,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop.rs:122:13 @@ -156,11 +136,7 @@ help: add a dummy let to cause `t1`, `t` to be fully captured | LL ~ let c = move || { LL + let _ = (&t1, &t); -LL + -LL + -LL + -LL + println!("{} {}", t1.1, t.1); - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop.rs:142:13 @@ -179,11 +155,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: aborting due to 7 previous errors diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr index 669614fee0a..961834aca19 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr @@ -20,11 +20,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/insignificant_drop_attr_migrations.rs:57:13 @@ -43,11 +39,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = move || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.1; - ... + | error: aborting due to 2 previous errors diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/macro.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/macro.stderr index 0614b78a743..d1f959dfc52 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/macro.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/macro.stderr @@ -18,7 +18,7 @@ LL | #![deny(rust_2021_incompatible_closure_captures)] help: add a dummy let to cause `a` to be fully captured | LL | let _ = || { let _ = &a; dbg!(a.0) }; - | ~~~~~~~~~~~~~~~~~~~~~~~~~ + | +++++++++++++ + error: aborting due to previous error diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr index 8d4819fe2e2..3589a6150d0 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr @@ -20,11 +20,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/migrations_rustfix.rs:33:13 @@ -41,7 +37,7 @@ LL | } help: add a dummy let to cause `t` to be fully captured | LL | let c = || { let _ = &t; t.0 }; - | ~~~~~~~~~~~~~~~~~~~ + | +++++++++++++ + error: aborting due to 2 previous errors diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr index b6ee5edb59e..10816b7bc3a 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr @@ -17,11 +17,7 @@ help: add a dummy let to cause `f` to be fully captured | LL ~ let result = panic::catch_unwind(move || { LL + let _ = &f; -LL + -LL + -LL + -LL + - ... + | error: aborting due to previous error diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr index b887b212e3d..8bee950c13e 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr @@ -23,11 +23,7 @@ help: add a dummy let to cause `f1`, `f2` to be fully captured | LL ~ let c = || { LL + let _ = (&f1, &f2); -LL + -LL + -LL + -LL + - ... + | error: changes to closure capture in Rust 2021 will affect `Clone` trait implementation for closure --> $DIR/multi_diagnostics.rs:42:13 @@ -43,11 +39,7 @@ help: add a dummy let to cause `f1` to be fully captured | LL ~ let c = || { LL + let _ = &f1; -LL + -LL + -LL + -LL + - ... + | error: changes to closure capture in Rust 2021 will affect `Clone` trait implementation for closure --> $DIR/multi_diagnostics.rs:67:13 @@ -69,11 +61,7 @@ help: add a dummy let to cause `f1` to be fully captured | LL ~ let c = || { LL + let _ = &f1; -LL + -LL + -LL + -LL + - ... + | error: changes to closure capture in Rust 2021 will affect `Clone` trait implementation for closure and drop order --> $DIR/multi_diagnostics.rs:86:13 @@ -98,11 +86,7 @@ help: add a dummy let to cause `f1` to be fully captured | LL ~ let c = || { LL + let _ = &f1; -LL + -LL + -LL + -LL + - ... + | error: changes to closure capture in Rust 2021 will affect `Sync`, `Send` trait implementation for closure --> $DIR/multi_diagnostics.rs:119:19 @@ -123,11 +107,11 @@ LL | *fptr2.0 = 20; help: add a dummy let to cause `fptr1`, `fptr2` to be fully captured | LL ~ thread::spawn(move || { let _ = (&fptr1, &fptr2); unsafe { -LL + -LL + -LL + -LL + -LL + +LL | +LL | +LL | +LL | +LL | ... error: aborting due to 5 previous errors diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/precise.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/precise.stderr index 51b4e11819f..aa9b8672a0f 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/precise.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/precise.stderr @@ -20,11 +20,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/precise.rs:45:13 @@ -53,11 +49,7 @@ help: add a dummy let to cause `u` to be fully captured | LL ~ let c = || { LL + let _ = &u; -LL + -LL + -LL + -LL + let _x = u.0.0; - ... + | error: aborting due to 2 previous errors diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr index 81700e32b5f..e9170eba3f1 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr @@ -30,11 +30,7 @@ help: add a dummy let to cause `t`, `t1`, `t2` to be fully captured | LL ~ let c = || { LL + let _ = (&t, &t1, &t2); -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:50:13 @@ -59,11 +55,7 @@ help: add a dummy let to cause `t`, `t1` to be fully captured | LL ~ let c = || { LL + let _ = (&t, &t1); -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:71:13 @@ -82,11 +74,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:91:13 @@ -105,11 +93,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:109:13 @@ -128,11 +112,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:125:13 @@ -151,11 +131,7 @@ help: add a dummy let to cause `t` to be fully captured | LL ~ let c = || { LL + let _ = &t; -LL + -LL + -LL + -LL + let _t = t.1; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:143:13 @@ -179,11 +155,7 @@ help: add a dummy let to cause `t1`, `t` to be fully captured | LL ~ let c = move || { LL + let _ = (&t1, &t); -LL + -LL + -LL + -LL + println!("{:?} {:?}", t1.1, t.1); - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:163:21 @@ -202,11 +174,7 @@ help: add a dummy let to cause `tuple` to be fully captured | LL ~ let c = || { LL + let _ = &tuple; -LL + -LL + -LL + -LL + tuple.0; - ... + | error: changes to closure capture in Rust 2021 will affect drop order --> $DIR/significant_drop.rs:181:17 @@ -225,11 +193,7 @@ help: add a dummy let to cause `tuple` to be fully captured | LL ~ let c = || { LL + let _ = &tuple; -LL + -LL + -LL + -LL + tuple.0; - ... + | error: aborting due to 9 previous errors diff --git a/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs new file mode 100644 index 00000000000..d5b1a9073ac --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs @@ -0,0 +1,18 @@ +// check-pass + +// This was an ICE, because the compiler ensures the +// function to be const when performing const checking, +// but functions marked with the attribute are not const +// *and* subject to const checking. + +#![feature(staged_api)] +#![feature(const_trait_impl)] +#![feature(const_fn_trait_bound)] +#![stable(since = "1", feature = "foo")] + +trait Tr { + #[default_method_body_is_const] + fn a() {} +} + +fn main() {} diff --git a/src/tools/rustdoc-gui/tester.js b/src/tools/rustdoc-gui/tester.js index 4e77d27d399..d1cf5fb803d 100644 --- a/src/tools/rustdoc-gui/tester.js +++ b/src/tools/rustdoc-gui/tester.js @@ -93,8 +93,13 @@ function char_printer(n_tests) { } }, finish: function() { - const spaces = " ".repeat(max_per_line - (current % max_per_line)); - process.stdout.write(`${spaces} (${current}/${n_tests})${os.EOL}${os.EOL}`); + if (current % max_per_line === 0) { + // Don't output if we are already at a matching line end + console.log(""); + } else { + const spaces = " ".repeat(max_per_line - (current % max_per_line)); + process.stdout.write(`${spaces} (${current}/${n_tests})${os.EOL}${os.EOL}`); + } }, }; } |
