[INFO] fetching crate auto-registry 0.0.2...
[INFO] checking auto-registry-0.0.2 against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] extracting crate auto-registry 0.0.2 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate auto-registry 0.0.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate auto-registry 0.0.2
[INFO] tweaked toml for crates.io crate auto-registry 0.0.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate auto-registry 0.0.2 on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate auto-registry 0.0.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 691c8cdb0d3b486d1761ca8296e05c5b7d90205392dfed2492b4ec1c28ed31c7
[INFO] running `Command { std: "docker" "start" "-a" "691c8cdb0d3b486d1761ca8296e05c5b7d90205392dfed2492b4ec1c28ed31c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "691c8cdb0d3b486d1761ca8296e05c5b7d90205392dfed2492b4ec1c28ed31c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "691c8cdb0d3b486d1761ca8296e05c5b7d90205392dfed2492b4ec1c28ed31c7", kill_on_drop: false }`
[INFO] [stdout] 691c8cdb0d3b486d1761ca8296e05c5b7d90205392dfed2492b4ec1c28ed31c7
[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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f8dcf21c004ae6ab84a454173e15b54f45a9189c655e3a81986ce4da1b79cd6e
[INFO] running `Command { std: "docker" "start" "-a" "f8dcf21c004ae6ab84a454173e15b54f45a9189c655e3a81986ce4da1b79cd6e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]     Checking auto-registry v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: feature `proc_macro_span` is declared but not used
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(proc_macro_span)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `proc_macro_span` is declared but not used
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(proc_macro_span)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `proc_macro_span` is declared but not used
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(proc_macro_span)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let listeners = get_listeners!();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `get_listeners! {  }`
[INFO] [stdout]    = note: to `collect_listeners!
[INFO] [stdout]            (crate :: KeyboardListener :: default(); crate :: MouseListener :: default();)`
[INFO] [stdout]    = note: expanding `collect_listeners! { crate :: KeyboardListener :: default(); crate :: MouseListener :: default(); }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                vec!
[INFO] [stdout]                [Box :: new(crate :: KeyboardListener :: default()) as Box < dyn crate ::
[INFO] [stdout]                Listener + Send + Sync > , Box :: new(crate :: MouseListener :: default())
[INFO] [stdout]                as Box < dyn crate :: Listener + Send + Sync > ,]
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `vec! { Box :: new(crate :: KeyboardListener :: default()) as Box < dyn crate ::
[INFO] [stdout]            Listener + Send + Sync > , Box :: new(crate :: MouseListener :: default()) as
[INFO] [stdout]            Box < dyn crate :: Listener + Send + Sync > , }`
[INFO] [stdout]    = note: to `$crate :: boxed ::
[INFO] [stdout]            box_assume_init_into_vec_unsafe($crate :: intrinsics ::
[INFO] [stdout]            write_box_via_move($crate :: boxed :: Box :: new_uninit(),
[INFO] [stdout]            [Box :: new(crate :: KeyboardListener :: default()) as Box < dyn crate ::
[INFO] [stdout]            Listener + Send + Sync >,
[INFO] [stdout]            Box :: new(crate :: MouseListener :: default()) as Box < dyn crate :: Listener
[INFO] [stdout]            + Send + Sync >]))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:40:2
[INFO] [stdout]    |
[INFO] [stdout] 40 |     assert_eq!(listeners.len(), 2);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `assert_eq! { listeners.len(), 2 }`
[INFO] [stdout]    = note: to `match (& listeners.len(), & 2)
[INFO] [stdout]            {
[INFO] [stdout]                (left_val, right_val) =>
[INFO] [stdout]                {
[INFO] [stdout]                    if ! (* left_val == * right_val)
[INFO] [stdout]                    {
[INFO] [stdout]                        let kind = $crate :: panicking :: AssertKind :: Eq; $crate ::
[INFO] [stdout]                        panicking ::
[INFO] [stdout]                        assert_failed(kind, & * left_val, & * right_val, $crate :: option
[INFO] [stdout]                        :: Option :: None);
[INFO] [stdout]                    }
[INFO] [stdout]                }
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:41:2
[INFO] [stdout]    |
[INFO] [stdout] 41 |     assert_eq!(listeners[0].name(), "Keyboard");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `assert_eq! { listeners[0].name(), "Keyboard" }`
[INFO] [stdout]    = note: to `match (& listeners[0].name(), & "Keyboard")
[INFO] [stdout]            {
[INFO] [stdout]                (left_val, right_val) =>
[INFO] [stdout]                {
[INFO] [stdout]                    if ! (* left_val == * right_val)
[INFO] [stdout]                    {
[INFO] [stdout]                        let kind = $crate :: panicking :: AssertKind :: Eq; $crate ::
[INFO] [stdout]                        panicking ::
[INFO] [stdout]                        assert_failed(kind, & * left_val, & * right_val, $crate :: option
[INFO] [stdout]                        :: Option :: None);
[INFO] [stdout]                    }
[INFO] [stdout]                }
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 42 |     assert_eq!(listeners[1].name(), "Mouse");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `assert_eq! { listeners[1].name(), "Mouse" }`
[INFO] [stdout]    = note: to `match (& listeners[1].name(), & "Mouse")
[INFO] [stdout]            {
[INFO] [stdout]                (left_val, right_val) =>
[INFO] [stdout]                {
[INFO] [stdout]                    if ! (* left_val == * right_val)
[INFO] [stdout]                    {
[INFO] [stdout]                        let kind = $crate :: panicking :: AssertKind :: Eq; $crate ::
[INFO] [stdout]                        panicking ::
[INFO] [stdout]                        assert_failed(kind, & * left_val, & * right_val, $crate :: option
[INFO] [stdout]                        :: Option :: None);
[INFO] [stdout]                    }
[INFO] [stdout]                }
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:60:2
[INFO] [stdout]    |
[INFO] [stdout] 60 |     register_all_listeners!();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `register_all_listeners! {  }`
[INFO] [stdout]    = note: to `register_listener! (crate :: KeyboardListener); register_listener!
[INFO] [stdout]            (crate :: MouseListener);`
[INFO] [stdout]    = note: expanding `register_listener! { crate :: KeyboardListener }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let mut listeners = LISTENERS.lock();
[INFO] [stdout]                listeners.unwrap().push(Box ::
[INFO] [stdout]                new(< crate :: KeyboardListener > :: default()) as Box < dyn Listener +
[INFO] [stdout]                Send + Sync >);
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `register_listener! { crate :: MouseListener }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let mut listeners = LISTENERS.lock();
[INFO] [stdout]                listeners.unwrap().push(Box ::
[INFO] [stdout]                new(< crate :: MouseListener > :: default()) as Box < dyn Listener + Send
[INFO] [stdout]                + Sync >);
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:61:2
[INFO] [stdout]    |
[INFO] [stdout] 61 |     assert_eq!(LISTENERS.lock().unwrap().len(), 2);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `assert_eq! { LISTENERS.lock().unwrap().len(), 2 }`
[INFO] [stdout]    = note: to `match (& LISTENERS.lock().unwrap().len(), & 2)
[INFO] [stdout]            {
[INFO] [stdout]                (left_val, right_val) =>
[INFO] [stdout]                {
[INFO] [stdout]                    if ! (* left_val == * right_val)
[INFO] [stdout]                    {
[INFO] [stdout]                        let kind = $crate :: panicking :: AssertKind :: Eq; $crate ::
[INFO] [stdout]                        panicking ::
[INFO] [stdout]                        assert_failed(kind, & * left_val, & * right_val, $crate :: option
[INFO] [stdout]                        :: Option :: None);
[INFO] [stdout]                    }
[INFO] [stdout]                }
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:62:2
[INFO] [stdout]    |
[INFO] [stdout] 62 |     assert_eq!(LISTENERS.lock().unwrap()[0].name(), "Keyboard");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `assert_eq! { LISTENERS.lock().unwrap()[0].name(), "Keyboard" }`
[INFO] [stdout]    = note: to `match (& LISTENERS.lock().unwrap()[0].name(), & "Keyboard")
[INFO] [stdout]            {
[INFO] [stdout]                (left_val, right_val) =>
[INFO] [stdout]                {
[INFO] [stdout]                    if ! (* left_val == * right_val)
[INFO] [stdout]                    {
[INFO] [stdout]                        let kind = $crate :: panicking :: AssertKind :: Eq; $crate ::
[INFO] [stdout]                        panicking ::
[INFO] [stdout]                        assert_failed(kind, & * left_val, & * right_val, $crate :: option
[INFO] [stdout]                        :: Option :: None);
[INFO] [stdout]                    }
[INFO] [stdout]                }
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> tests/tests.rs:63:2
[INFO] [stdout]    |
[INFO] [stdout] 63 |     assert_eq!(LISTENERS.lock().unwrap()[1].name(), "Mouse");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `assert_eq! { LISTENERS.lock().unwrap()[1].name(), "Mouse" }`
[INFO] [stdout]    = note: to `match (& LISTENERS.lock().unwrap()[1].name(), & "Mouse")
[INFO] [stdout]            {
[INFO] [stdout]                (left_val, right_val) =>
[INFO] [stdout]                {
[INFO] [stdout]                    if ! (* left_val == * right_val)
[INFO] [stdout]                    {
[INFO] [stdout]                        let kind = $crate :: panicking :: AssertKind :: Eq; $crate ::
[INFO] [stdout]                        panicking ::
[INFO] [stdout]                        assert_failed(kind, & * left_val, & * right_val, $crate :: option
[INFO] [stdout]                        :: Option :: None);
[INFO] [stdout]                    }
[INFO] [stdout]                }
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> tests/tests.rs:37:6
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let x = KeyboardListener{};
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/tests.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut listeners = LISTENERS.lock();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 60 |     register_all_listeners!();
[INFO] [stdout]    |     ------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `register_listener` which comes from the expansion of the macro `register_all_listeners` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/tests.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut listeners = LISTENERS.lock();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 60 |     register_all_listeners!();
[INFO] [stdout]    |     ------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `register_listener` which comes from the expansion of the macro `register_all_listeners` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.41s
[INFO] running `Command { std: "docker" "inspect" "f8dcf21c004ae6ab84a454173e15b54f45a9189c655e3a81986ce4da1b79cd6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8dcf21c004ae6ab84a454173e15b54f45a9189c655e3a81986ce4da1b79cd6e", kill_on_drop: false }`
[INFO] [stdout] f8dcf21c004ae6ab84a454173e15b54f45a9189c655e3a81986ce4da1b79cd6e
