[INFO] cloning repository https://github.com/stephenlepisto/designpatternexamples [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stephenlepisto/designpatternexamples" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstephenlepisto%2Fdesignpatternexamples", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstephenlepisto%2Fdesignpatternexamples'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dbc457ae4f6fccfda980cb3f5c7feb0278d7bc89 [INFO] checking stephenlepisto/designpatternexamples against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstephenlepisto%2Fdesignpatternexamples" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/stephenlepisto/designpatternexamples on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/stephenlepisto/designpatternexamples [INFO] finished tweaking git repo https://github.com/stephenlepisto/designpatternexamples [INFO] tweaked toml for git repo https://github.com/stephenlepisto/designpatternexamples written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/stephenlepisto/designpatternexamples 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8b95a43e440c9ef0eb64ce40f5b95c22f6a0073fcdfa436a50204203fb953ce1 [INFO] running `Command { std: "docker" "start" "-a" "8b95a43e440c9ef0eb64ce40f5b95c22f6a0073fcdfa436a50204203fb953ce1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8b95a43e440c9ef0eb64ce40f5b95c22f6a0073fcdfa436a50204203fb953ce1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b95a43e440c9ef0eb64ce40f5b95c22f6a0073fcdfa436a50204203fb953ce1", kill_on_drop: false }` [INFO] [stdout] 8b95a43e440c9ef0eb64ce40f5b95c22f6a0073fcdfa436a50204203fb953ce1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 909fc6143b9ac6c6c633ba89782d71ffe75f23b629d40ff177c64cae7f8a48a3 [INFO] running `Command { std: "docker" "start" "-a" "909fc6143b9ac6c6c633ba89782d71ffe75f23b629d40ff177c64cae7f8a48a3", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Checking log v0.4.19 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling time-core v0.1.1 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking num_threads v0.1.6 [INFO] [stderr] Compiling design_pattern_examples_rust v1.0.0 (/opt/rustwide/workdir/rust/design_pattern_examples_rust) [INFO] [stderr] Compiling time-macros v0.2.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking time v0.3.23 [INFO] [stdout] warning: the item `Box` is imported redundantly [INFO] [stdout] --> rust/design_pattern_examples_rust/src/bridge/bridge_nulllogger.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Box` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Box` is imported redundantly [INFO] [stdout] --> rust/design_pattern_examples_rust/src/bridge/bridge_filelogger.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Box` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Box` is imported redundantly [INFO] [stdout] --> rust/design_pattern_examples_rust/src/bridge/bridge_consolelogger.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Box` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Box` is imported redundantly [INFO] [stdout] --> rust/design_pattern_examples_rust/src/bridge/bridge_nulllogger.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Box` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Box` is imported redundantly [INFO] [stdout] --> rust/design_pattern_examples_rust/src/bridge/bridge_filelogger.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Box` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Box` is imported redundantly [INFO] [stdout] --> rust/design_pattern_examples_rust/src/bridge/bridge_consolelogger.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Box` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `disable_devices_in_device_chain` is never used [INFO] [stdout] --> rust/design_pattern_examples_rust/src/facade/facade_idevicenetworklowlevel_trait.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait IDeviceNetworkLowLevel { [INFO] [stdout] | ---------------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn disable_devices_in_device_chain(&mut self, chain_index: usize, devices_select_mask: u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `disable_devices_in_device_chain` is never used [INFO] [stdout] --> rust/design_pattern_examples_rust/src/facade/facade_idevicenetworklowlevel_trait.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait IDeviceNetworkLowLevel { [INFO] [stdout] | ---------------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn disable_devices_in_device_chain(&mut self, chain_index: usize, devices_select_mask: u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `address` is never read [INFO] [stdout] --> rust/design_pattern_examples_rust/src/visitor/visitor_shop.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct VisitorShop { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 67 | pub address: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VisitorShop` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> rust/design_pattern_examples_rust/src/observer/observer_numberproducer.rs:83:44 [INFO] [stdout] | [INFO] [stdout] 83 | self.observers.iter().position(|x| x.as_ptr() == observer.as_ptr()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 83 | self.observers.iter().position(|x| std::ptr::addr_eq(x.as_ptr(), observer.as_ptr())) [INFO] [stdout] | ++++++++++++++++++ ~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `address` is never read [INFO] [stdout] --> rust/design_pattern_examples_rust/src/visitor/visitor_shop.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct VisitorShop { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 67 | pub address: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VisitorShop` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> rust/design_pattern_examples_rust/src/observer/observer_numberproducer.rs:83:44 [INFO] [stdout] | [INFO] [stdout] 83 | self.observers.iter().position(|x| x.as_ptr() == observer.as_ptr()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 83 | self.observers.iter().position(|x| std::ptr::addr_eq(x.as_ptr(), observer.as_ptr())) [INFO] [stdout] | ++++++++++++++++++ ~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.75s [INFO] running `Command { std: "docker" "inspect" "909fc6143b9ac6c6c633ba89782d71ffe75f23b629d40ff177c64cae7f8a48a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "909fc6143b9ac6c6c633ba89782d71ffe75f23b629d40ff177c64cae7f8a48a3", kill_on_drop: false }` [INFO] [stdout] 909fc6143b9ac6c6c633ba89782d71ffe75f23b629d40ff177c64cae7f8a48a3