[INFO] fetching crate scoped-tls-hkt 0.1.4... [INFO] checking scoped-tls-hkt-0.1.4 against try#7014e13d5becc920d4bea3cd87942c8a13d359bf+rustflags=-Dtail_expr_drop_order for pr-129864 [INFO] extracting crate scoped-tls-hkt 0.1.4 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate scoped-tls-hkt 0.1.4 on toolchain 7014e13d5becc920d4bea3cd87942c8a13d359bf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate scoped-tls-hkt 0.1.4 [INFO] finished tweaking crates.io crate scoped-tls-hkt 0.1.4 [INFO] tweaked toml for crates.io crate scoped-tls-hkt 0.1.4 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dfe9c4239a1cb5b6d5a1aec41e0e730e074c228f3f1eadaeeb14ad1f65bbc0fe [INFO] running `Command { std: "docker" "start" "-a" "dfe9c4239a1cb5b6d5a1aec41e0e730e074c228f3f1eadaeeb14ad1f65bbc0fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dfe9c4239a1cb5b6d5a1aec41e0e730e074c228f3f1eadaeeb14ad1f65bbc0fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dfe9c4239a1cb5b6d5a1aec41e0e730e074c228f3f1eadaeeb14ad1f65bbc0fe", kill_on_drop: false }` [INFO] [stdout] dfe9c4239a1cb5b6d5a1aec41e0e730e074c228f3f1eadaeeb14ad1f65bbc0fe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d364db5ee201d7942599d332509962c2ad870811c47274e2925db7571ef974d [INFO] running `Command { std: "docker" "start" "-a" "6d364db5ee201d7942599d332509962c2ad870811c47274e2925db7571ef974d", kill_on_drop: false }` [INFO] [stderr] Checking scoped-tls-hkt v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:234:17 [INFO] [stdout] | [INFO] [stdout] 220 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 234 | unsafe impl Sync for $name<'static> {} [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^-----^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `BAR` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] ... [INFO] [stdout] 733 | scoped_thread_local!(static BAR: for<'a> Foo<'a>); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | #![deny(missing_docs, warnings)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]` [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 220 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 246 | impl $name<'static> { [INFO] [stdout] | ^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `BAR` is not local [INFO] [stdout] ... [INFO] [stdout] 733 | scoped_thread_local!(static BAR: for<'a> Foo<'a>); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:234:17 [INFO] [stdout] | [INFO] [stdout] 220 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 234 | unsafe impl Sync for $name<'static> {} [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^-----^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `BAR` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] ... [INFO] [stdout] 748 | scoped_thread_local!(static BAR: for<'a> &'a dyn std::fmt::Display); [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 220 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 246 | impl $name<'static> { [INFO] [stdout] | ^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `BAR` is not local [INFO] [stdout] ... [INFO] [stdout] 748 | scoped_thread_local!(static BAR: for<'a> &'a dyn std::fmt::Display); [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 296 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 312 | unsafe impl Sync for $name<'static> {} [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^-----^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `BAR` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] ... [INFO] [stdout] 814 | scoped_thread_local!(static mut BAR: for<'a> (&'a mut i32, &'a mut f32)); [INFO] [stdout] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 296 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 325 | impl $name<'static> { [INFO] [stdout] | ^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `BAR` is not local [INFO] [stdout] ... [INFO] [stdout] 814 | scoped_thread_local!(static mut BAR: for<'a> (&'a mut i32, &'a mut f32)); [INFO] [stdout] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 296 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 312 | unsafe impl Sync for $name<'static> {} [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^-----^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `BAR` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] ... [INFO] [stdout] 837 | scoped_thread_local!(static mut BAR: for<'a> (&'a mut (dyn std::fmt::Display + 'static), &'a mut dyn std::any::Any)); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 296 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 325 | impl $name<'static> { [INFO] [stdout] | ^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `BAR` is not local [INFO] [stdout] ... [INFO] [stdout] 837 | scoped_thread_local!(static mut BAR: for<'a> (&'a mut (dyn std::fmt::Display + 'static), &'a mut dyn std::any::Any)); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 296 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 312 | unsafe impl Sync for $name<'static> {} [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^-----^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `BAR` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] ... [INFO] [stdout] 868 | scoped_thread_local!(static mut BAR: for<'a> Foo<'a>); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 296 | $vis static $name: $name<'static> = { [INFO] [stdout] | --------------------------------- move the `impl` block outside of this static `BAR` and up 2 bodies [INFO] [stdout] ... [INFO] [stdout] 325 | impl $name<'static> { [INFO] [stdout] | ^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `BAR` is not local [INFO] [stdout] ... [INFO] [stdout] 868 | scoped_thread_local!(static mut BAR: for<'a> Foo<'a>); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `scoped_thread_local` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this error originates in the macro `scoped_thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `scoped-tls-hkt` (lib test) due to 11 previous errors [INFO] running `Command { std: "docker" "inspect" "6d364db5ee201d7942599d332509962c2ad870811c47274e2925db7571ef974d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d364db5ee201d7942599d332509962c2ad870811c47274e2925db7571ef974d", kill_on_drop: false }` [INFO] [stdout] 6d364db5ee201d7942599d332509962c2ad870811c47274e2925db7571ef974d