[INFO] cloning repository https://github.com/tema3210/instrumentio_work [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tema3210/instrumentio_work" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftema3210%2Finstrumentio_work", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftema3210%2Finstrumentio_work'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4c8e92887b266968404c7415102d1878bde761ff [INFO] checking tema3210/instrumentio_work against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftema3210%2Finstrumentio_work" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tema3210/instrumentio_work 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/tema3210/instrumentio_work [INFO] finished tweaking git repo https://github.com/tema3210/instrumentio_work [INFO] tweaked toml for git repo https://github.com/tema3210/instrumentio_work written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/tema3210/instrumentio_work 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] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded peg-runtime v0.6.3 [INFO] [stderr] Downloaded peg v0.6.3 [INFO] [stderr] Downloaded sealed v0.5.0 [INFO] [stderr] Downloaded typed-builder-macro v0.15.2 [INFO] [stderr] Downloaded gherkin v0.14.0 [INFO] [stderr] Downloaded peg-macros v0.6.3 [INFO] [stderr] Downloaded typed-builder v0.15.2 [INFO] [stderr] Downloaded synthez-codegen v0.3.1 [INFO] [stderr] Downloaded synthez v0.3.1 [INFO] [stderr] Downloaded nom_locate v4.2.0 [INFO] [stderr] Downloaded synthez-core v0.3.1 [INFO] [stderr] Downloaded cucumber-expressions v0.3.0 [INFO] [stderr] Downloaded cucumber v0.20.2 [INFO] [stderr] Downloaded cucumber-codegen v0.20.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 1a0321e3883fa4de2ade22854f7ae28eccc1e2566d4ed2f877328ded425204d5 [INFO] running `Command { std: "docker" "start" "-a" "1a0321e3883fa4de2ade22854f7ae28eccc1e2566d4ed2f877328ded425204d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1a0321e3883fa4de2ade22854f7ae28eccc1e2566d4ed2f877328ded425204d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a0321e3883fa4de2ade22854f7ae28eccc1e2566d4ed2f877328ded425204d5", kill_on_drop: false }` [INFO] [stdout] 1a0321e3883fa4de2ade22854f7ae28eccc1e2566d4ed2f877328ded425204d5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 7ac8bc847d2670aea201b56b2cf59ec95be4d262b813d8d5dcbb29d80e7a9883 [INFO] running `Command { std: "docker" "start" "-a" "7ac8bc847d2670aea201b56b2cf59ec95be4d262b813d8d5dcbb29d80e7a9883", 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 proc-macro2 v1.0.78 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking smallvec v1.13.1 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling thiserror v1.0.57 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling rustix v0.38.31 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling cc v1.0.89 [INFO] [stderr] Compiling syn v2.0.52 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling serde_json v1.0.114 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking socket2 v0.5.6 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking indexmap v2.2.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling openssl-sys v0.9.101 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Checking terminal_size v0.3.0 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling itoa v1.0.10 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Checking strsim v0.11.0 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking clap_builder v4.5.1 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking bstr v1.9.1 [INFO] [stderr] Compiling either v1.10.0 [INFO] [stderr] Compiling bytecount v0.6.7 [INFO] [stderr] Compiling peg-runtime v0.6.3 [INFO] [stderr] Compiling ucd-trie v0.1.6 [INFO] [stderr] Compiling peg-macros v0.6.3 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking globset v0.4.14 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling nom_locate v4.2.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Compiling anyhow v1.0.80 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking fastrand v2.0.1 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Compiling async-trait v0.1.77 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling thiserror-impl v1.0.57 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking tokio v1.36.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling sealed v0.5.0 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling synthez-core v0.3.1 [INFO] [stderr] Compiling clap_derive v4.5.0 [INFO] [stderr] Compiling pest v2.7.8 [INFO] [stderr] Compiling typed-builder-macro v0.15.2 [INFO] [stderr] Compiling synthez-codegen v0.3.1 [INFO] [stderr] Compiling pest_meta v2.7.8 [INFO] [stderr] Checking typed-builder v0.15.2 [INFO] [stderr] Compiling synthez v0.3.1 [INFO] [stderr] Compiling cucumber-expressions v0.3.0 [INFO] [stderr] Compiling lazy-regex-proc_macros v3.1.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking clap v4.5.1 [INFO] [stderr] Checking textwrap v0.16.1 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking peg v0.6.3 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking ignore v0.4.22 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking h2 v0.3.24 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking globwalk v0.8.1 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking chrono v0.4.34 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking async-compression v0.4.6 [INFO] [stderr] Compiling cucumber-codegen v0.20.2 [INFO] [stderr] Checking lazy-regex v3.1.0 [INFO] [stderr] Compiling pest_generator v2.7.8 [INFO] [stderr] Compiling smart-default v0.7.1 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking hyper v0.14.28 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking unsafe-libyaml v0.2.10 [INFO] [stderr] Checking inventory v0.3.15 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking drain_filter_polyfill v0.1.3 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking proptest v1.4.0 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Compiling gherkin v0.14.0 [INFO] [stderr] Compiling pest_derive v2.7.8 [INFO] [stderr] Checking serde_yaml v0.9.32 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.24 [INFO] [stderr] Checking tokio-stream v0.1.14 [INFO] [stderr] Compiling proc_crate v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_2_macro/proc_crate) [INFO] [stdout] warning: unused imports: `Group`, `Ident`, `Literal`, `Punct`, `Spacing`, `TokenTree` [INFO] [stdout] --> 3_ecosystem/3_2_macro/proc_crate/src/lib.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use proc_macro::{Group, Ident, Literal, Punct, Spacing, TokenStream, TokenTree}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> 3_ecosystem/3_2_macro/proc_crate/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Checking cucumber v0.20.2 [INFO] [stderr] Checking uuid v1.7.0 [INFO] [stderr] Checking step_3_10 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_10_threads) [INFO] [stderr] Checking step_3_11 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_11_async) [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_3_2 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_2_macro) [INFO] [stderr] Checking step_3_7 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_7_rand_crypto) [INFO] [stderr] Checking step_3_6 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_6_serde) [INFO] [stderr] Checking step_3_4 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_4_regex_parsing) [INFO] [stderr] Checking step_3_5 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_5_collections) [INFO] [stderr] Checking step_3_3 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_3_date_time) [INFO] [stderr] Checking step_1_5 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_5_convert_cast_deref) [INFO] [stdout] warning: unused import: `chrono::Datelike` [INFO] [stdout] --> 3_ecosystem/3_3_date_time/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::Datelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Datelike` [INFO] [stdout] --> 3_ecosystem/3_3_date_time/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::Datelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOW` is never used [INFO] [stdout] --> 3_ecosystem/3_3_date_time/src/main.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const NOW: &str = "2019-06-26"; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> 3_ecosystem/3_3_date_time/src/main.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct User(chrono::NaiveDate); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_birthdate`, `age`, and `is_adult` are never used [INFO] [stdout] --> 3_ecosystem/3_3_date_time/src/main.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl User { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 12 | fn with_birthdate(year: i32, month: u32, day: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | fn age(&self) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn is_adult(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_1_9 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_9_phantom) [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_adult` is never used [INFO] [stdout] --> 3_ecosystem/3_3_date_time/src/main.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | fn is_adult(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_1_1 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_1_default_clone_copy) [INFO] [stderr] Checking step_3_9 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_9_cmd_env_conf) [INFO] [stderr] Checking step_1_3 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_3_rc_cell) [INFO] [stdout] warning: struct `Random` is never constructed [INFO] [stdout] --> 1_concepts/1_5_convert_cast_deref/src/main.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct Random([T; 3]); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_const_exprs)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #76560 for more information [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Random` is never constructed [INFO] [stdout] --> 1_concepts/1_5_convert_cast_deref/src/main.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct Random([T; 3]); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2_1 v0.1.0 (/opt/rustwide/workdir/2_idioms/2_1_type_safety) [INFO] [stderr] Checking step_3 v0.1.0 (/opt/rustwide/workdir/3_ecosystem) [INFO] [stderr] Checking step_4_3 v0.1.0 (/opt/rustwide/workdir/4_backend/4_3_api) [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let line = Polyline::from([a, b]); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line2` [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let line2 = Polyline::try_from(vec![a, b]).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_line2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line3` [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let line3 = Polyline::new(a, b, &[]); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_line3` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2_6 v0.1.0 (/opt/rustwide/workdir/2_idioms/2_6_sealing) [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 5 | x: f32, [INFO] [stdout] | ^ [INFO] [stdout] 6 | y: f32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | struct Polyline(Vec); [INFO] [stdout] | -------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = note: `Polyline` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | struct Polyline(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GlobalStack` is never constructed [INFO] [stdout] --> 1_concepts/1_3_rc_cell/src/main.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct GlobalStack { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push`, `try_push`, and `pop` are never used [INFO] [stdout] --> 1_concepts/1_3_rc_cell/src/main.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl GlobalStack { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 19 | pub fn push(&self, t: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn try_push(&self, t: T) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn pop(&self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2 v0.1.0 (/opt/rustwide/workdir/2_idioms) [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_1_2 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_2_box_pin) [INFO] [stdout] warning: struct `Post` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct Post { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `publish` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl Post { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 45 | fn publish(self) -> Post { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `allow` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl Post { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] 57 | fn allow(self) -> Post { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 68 | impl Post { [INFO] [stdout] | ---------------------------- method in this implementation [INFO] [stdout] 69 | fn delete(self) -> Post { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `deny` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 79 | impl Post { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] 80 | fn deny(self) -> Post { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Sealed` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) trait Sealed {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Unmoderated` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Unmoderated; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Published` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Published; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Deleted` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Deleted; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `New` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct New; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2_3 v0.1.0 (/opt/rustwide/workdir/2_idioms/2_3_bound_impl) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> 2_idioms/src/main.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | let target = (sum - curr_sum); // what we want on this iteration [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - let target = (sum - curr_sum); // what we want on this iteration [INFO] [stdout] 32 + let target = sum - curr_sum; // what we want on this iteration [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> 2_idioms/src/main.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | let target = (sum - curr_sum); // what we want on this iteration [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - let target = (sum - curr_sum); // what we want on this iteration [INFO] [stdout] 32 + let target = sum - curr_sum; // what we want on this iteration [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_me` is never used [INFO] [stdout] --> 2_idioms/2_6_sealing/src/lib.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn run_me() {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MutMeSomehow` is never used [INFO] [stdout] --> 1_concepts/1_2_box_pin/src/main.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | trait MutMeSomehow { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_menaingful_T` is never used [INFO] [stdout] --> 1_concepts/1_2_box_pin/src/main.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn get_a_menaingful_T() -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_menaingful_T` should have a snake case name [INFO] [stdout] --> 1_concepts/1_2_box_pin/src/main.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn get_a_menaingful_T() -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_a_menaingful_t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2_5 v0.1.0 (/opt/rustwide/workdir/2_idioms/2_5_exhaustivity) [INFO] [stdout] warning: type `Product` is more private than the item `Stock` [INFO] [stdout] --> 2_idioms/src/main.rs:113:1 [INFO] [stdout] | [INFO] [stdout] 113 | pub type Stock = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^ type alias `Stock` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Product` is only usable at visibility `pub(crate)` [INFO] [stdout] --> 2_idioms/src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | struct Product { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COINS` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const COINS: &[u32] = &[50, 20, 10, 5, 2, 1]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InCoins` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct InCoins([u32; 6]); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `money`, `coins_for_sum`, `trade`, and `total` are never used [INFO] [stdout] --> 2_idioms/src/main.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl InCoins { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 15 | /// this greedy algorithm works only with normalized monetary systems (that's why there are no others) [INFO] [stdout] 16 | fn money(mut sum: u32) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn coins_for_sum(&self, sum: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn trade(&self, other: &Self, price: u32) -> Option<[InCoins; 2]> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn total(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VendingMachine` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | struct VendingMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Purchase` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:120:6 [INFO] [stdout] | [INFO] [stdout] 120 | type Purchase = ([Product; 1], InCoins); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `purchase`, `is_empty`, `is_full`, and `stock` are never used [INFO] [stdout] --> 2_idioms/src/main.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 122 | impl VendingMachine { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 123 | fn purchase(&mut self, what: Product, money: InCoins) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn stock(&mut self, new: Stock) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SafeVendingMachine` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | struct SafeVendingMachine(VendingMachine, PhantomData); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stocked` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:183:6 [INFO] [stdout] | [INFO] [stdout] 183 | enum Stocked { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `stock` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 188 | impl SafeVendingMachine { [INFO] [stdout] | -------------------------------------- method in this implementation [INFO] [stdout] 189 | fn stock(mut self, goods: Stock) -> Stocked { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Purchased` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:202:6 [INFO] [stdout] | [INFO] [stdout] 202 | enum Purchased { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stock` and `purchase` are never used [INFO] [stdout] --> 2_idioms/src/main.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 207 | impl SafeVendingMachine { [INFO] [stdout] | ------------------------------------------ methods in this implementation [INFO] [stdout] 208 | fn stock(mut self, goods: Stock) -> Stocked { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn purchase(mut self, what: Product, money: InCoins) -> (Option, Purchased) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `purchase` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:236:8 [INFO] [stdout] | [INFO] [stdout] 235 | impl SafeVendingMachine { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 236 | fn purchase(mut self, what: Product, money: InCoins) -> (Option, Purchased) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Seal` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:163:15 [INFO] [stdout] | [INFO] [stdout] 163 | pub trait Seal {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Empty` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:166:16 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct Empty; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Full` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:170:16 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct Full; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CanAccept` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:175:16 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct CanAccept; //could have slapped there a Product as a const param but to use this we'd need dependent typing [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_const_exprs)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #76560 for more information [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Product` is more private than the item `Stock` [INFO] [stdout] --> 2_idioms/src/main.rs:113:1 [INFO] [stdout] | [INFO] [stdout] 113 | pub type Stock = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^ type alias `Stock` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Product` is only usable at visibility `pub(crate)` [INFO] [stdout] --> 2_idioms/src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | struct Product { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COINS` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const COINS: &[u32] = &[50, 20, 10, 5, 2, 1]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InCoins` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct InCoins([u32; 6]); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `money`, `coins_for_sum`, `trade`, and `total` are never used [INFO] [stdout] --> 2_idioms/src/main.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl InCoins { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 15 | /// this greedy algorithm works only with normalized monetary systems (that's why there are no others) [INFO] [stdout] 16 | fn money(mut sum: u32) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn coins_for_sum(&self, sum: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn trade(&self, other: &Self, price: u32) -> Option<[InCoins; 2]> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn total(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VendingMachine` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | struct VendingMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Purchase` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:120:6 [INFO] [stdout] | [INFO] [stdout] 120 | type Purchase = ([Product; 1], InCoins); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `purchase`, `is_empty`, `is_full`, and `stock` are never used [INFO] [stdout] --> 2_idioms/src/main.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 122 | impl VendingMachine { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 123 | fn purchase(&mut self, what: Product, money: InCoins) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn stock(&mut self, new: Stock) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SafeVendingMachine` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | struct SafeVendingMachine(VendingMachine, PhantomData); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stocked` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:183:6 [INFO] [stdout] | [INFO] [stdout] 183 | enum Stocked { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `stock` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 188 | impl SafeVendingMachine { [INFO] [stdout] | -------------------------------------- method in this implementation [INFO] [stdout] 189 | fn stock(mut self, goods: Stock) -> Stocked { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Purchased` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:202:6 [INFO] [stdout] | [INFO] [stdout] 202 | enum Purchased { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stock` and `purchase` are never used [INFO] [stdout] --> 2_idioms/src/main.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 207 | impl SafeVendingMachine { [INFO] [stdout] | ------------------------------------------ methods in this implementation [INFO] [stdout] 208 | fn stock(mut self, goods: Stock) -> Stocked { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn purchase(mut self, what: Product, money: InCoins) -> (Option, Purchased) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `purchase` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:236:8 [INFO] [stdout] | [INFO] [stdout] 235 | impl SafeVendingMachine { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 236 | fn purchase(mut self, what: Product, money: InCoins) -> (Option, Purchased) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Seal` is never used [INFO] [stdout] --> 2_idioms/src/main.rs:163:15 [INFO] [stdout] | [INFO] [stdout] 163 | pub trait Seal {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Empty` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:166:16 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct Empty; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Full` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:170:16 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct Full; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CanAccept` is never constructed [INFO] [stdout] --> 2_idioms/src/main.rs:175:16 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct CanAccept; //could have slapped there a Product as a const param but to use this we'd need dependent typing [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_1_4 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_4_cow) [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:60:48 [INFO] [stdout] | [INFO] [stdout] 60 | let event::UserNameUpdated { name, user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `at` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:60:57 [INFO] [stdout] | [INFO] [stdout] 60 | let event::UserNameUpdated { name, user_id, at } = ev; [INFO] [stdout] | ^^ help: try ignoring the field: `at: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:67:43 [INFO] [stdout] | [INFO] [stdout] 67 | let event::UserBecameOnline { user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:74:44 [INFO] [stdout] | [INFO] [stdout] 74 | let event::UserBecameOffline { user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:82:38 [INFO] [stdout] | [INFO] [stdout] 82 | let event::UserDeleted { user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let line = Polyline::from([a, b]); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line2` [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let line2 = Polyline::try_from(vec![a, b]).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_line2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line3` [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let line3 = Polyline::new(a, b, &[]); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_line3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 5 | x: f32, [INFO] [stdout] | ^ [INFO] [stdout] 6 | y: f32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> 1_concepts/1_1_default_clone_copy/src/main.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | struct Polyline(Vec); [INFO] [stdout] | -------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = note: `Polyline` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | struct Polyline(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_4_2 v0.1.0 (/opt/rustwide/workdir/4_backend/4_2_http) [INFO] [stderr] Checking step_1 v0.1.0 (/opt/rustwide/workdir/1_concepts) [INFO] [stdout] warning: unused imports: `Display`, `mem`, `ptr` [INFO] [stdout] --> 1_concepts/src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | fmt::{self, Display}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | mem, ptr, [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_1_8 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_8_thread_safety) [INFO] [stdout] warning: function `run_me` is never used [INFO] [stdout] --> 2_idioms/2_6_sealing/src/lib.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn run_me() {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_4 v0.1.0 (/opt/rustwide/workdir/4_backend) [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> 1_concepts/1_8_thread_safety/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_4_1 v0.1.0 (/opt/rustwide/workdir/4_backend/4_1_db) [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2_2 v0.1.0 (/opt/rustwide/workdir/2_idioms/2_2_mem_replace) [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> 1_concepts/1_8_thread_safety/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MutMeSomehow` is never used [INFO] [stdout] --> 1_concepts/1_2_box_pin/src/main.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | trait MutMeSomehow { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_menaingful_T` is never used [INFO] [stdout] --> 1_concepts/1_2_box_pin/src/main.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn get_a_menaingful_T() -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_menaingful_T` should have a snake case name [INFO] [stdout] --> 1_concepts/1_2_box_pin/src/main.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn get_a_menaingful_T() -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_a_menaingful_t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> 1_concepts/1_8_thread_safety/src/main.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | struct Data(String); [INFO] [stdout] | ---- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | struct Data(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_2_4 v0.1.0 (/opt/rustwide/workdir/2_idioms/2_4_generic_in_type_out) [INFO] [stderr] Checking step_1_6 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_6_dispatch) [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:60:48 [INFO] [stdout] | [INFO] [stdout] 60 | let event::UserNameUpdated { name, user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `at` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:60:57 [INFO] [stdout] | [INFO] [stdout] 60 | let event::UserNameUpdated { name, user_id, at } = ev; [INFO] [stdout] | ^^ help: try ignoring the field: `at: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:67:43 [INFO] [stdout] | [INFO] [stdout] 67 | let event::UserBecameOnline { user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:74:44 [INFO] [stdout] | [INFO] [stdout] 74 | let event::UserBecameOffline { user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> 2_idioms/2_5_exhaustivity/src/lib.rs:82:38 [INFO] [stdout] | [INFO] [stdout] 82 | let event::UserDeleted { user_id, at } = ev; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `user_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_1_7 v0.1.0 (/opt/rustwide/workdir/1_concepts/1_7_sized) [INFO] [stdout] warning: methods `set`, `get`, and `remove` are never used [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 3 | trait Storage { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] 4 | fn set(&mut self, key: K, val: V); [INFO] [stdout] | ^^^ [INFO] [stdout] 5 | fn get(&self, key: &K) -> Option<&V>; [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | fn remove(&mut self, key: &K) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_3_8 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_8_log) [INFO] [stdout] warning: methods `set`, `get`, and `remove` are never used [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 3 | trait Storage { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] 4 | fn set(&mut self, key: K, val: V); [INFO] [stdout] | ^^^ [INFO] [stdout] 5 | fn get(&self, key: &K) -> Option<&V>; [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | fn remove(&mut self, key: &K) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `email`, and `activated` are never read [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 10 | id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] 11 | email: Cow<'static, str>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 12 | activated: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store` is never read [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct UserRepositoryStatic> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 17 | store: S, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set`, `get`, and `remove` are never used [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 29 | / impl UserRepositoryStatic [INFO] [stdout] 30 | | where [INFO] [stdout] 31 | | S: Storage, [INFO] [stdout] | |__________________________- methods in this implementation [INFO] [stdout] 32 | { [INFO] [stdout] 33 | fn set(&mut self, key: u64, val: User) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn get(&self, key: u64) -> Option<&User> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn remove(&mut self, key: u64) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserRepositoryDynamic` is never constructed [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | struct UserRepositoryDynamic { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_boxed_store`, `set`, `get`, and `remove` are never used [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl UserRepositoryDynamic { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 50 | fn from_boxed_store(b: Box>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn set(&mut self, key: u64, val: User) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn get(&self, key: u64) -> Option<&User> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn remove(&mut self, key: u64) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `email`, and `activated` are never read [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 10 | id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] 11 | email: Cow<'static, str>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 12 | activated: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store` is never read [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct UserRepositoryStatic> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 17 | store: S, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set`, `get`, and `remove` are never used [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 29 | / impl UserRepositoryStatic [INFO] [stdout] 30 | | where [INFO] [stdout] 31 | | S: Storage, [INFO] [stdout] | |__________________________- methods in this implementation [INFO] [stdout] 32 | { [INFO] [stdout] 33 | fn set(&mut self, key: u64, val: User) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn get(&self, key: u64) -> Option<&User> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn remove(&mut self, key: u64) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserRepositoryDynamic` is never constructed [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | struct UserRepositoryDynamic { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_boxed_store`, `set`, `get`, and `remove` are never used [INFO] [stdout] --> 1_concepts/1_6_dispatch/src/main.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl UserRepositoryDynamic { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 50 | fn from_boxed_store(b: Box>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn set(&mut self, key: u64, val: User) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn get(&self, key: u64) -> Option<&User> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn remove(&mut self, key: u64) -> Option { [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] [stdout] warning: unused doc comment [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | /// here dynamic cast happens [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | let ctx = UserRepositoryDynamic::from_store(Box::new(store)); [INFO] [stdout] | ------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | .map(|mut s| s.get(&key).cloned()) [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `remove` are never used [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 3 | trait Storage { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] 4 | fn set(&mut self, key: K, val: V); [INFO] [stdout] 5 | fn get(&self, key: &K) -> Option<&V>; [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | fn remove(&mut self, key: &K) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `email` and `activated` are never read [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 11 | id: u64, [INFO] [stdout] 12 | email: Cow<'static, str>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | activated: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `User` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `remove` are never used [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 29 | trait UserRepository { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 32 | fn get(&self, key: u64) -> Option; [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | [INFO] [stdout] 34 | fn remove(&self, key: u64) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | self.store.lock().map(|mut s| s.set(key, val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = self.store.lock().map(|mut s| s.set(key, val)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking step_3_1 v0.1.0 (/opt/rustwide/workdir/3_ecosystem/3_1_testing) [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | /// here dynamic cast happens [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | let ctx = UserRepositoryDynamic::from_store(Box::new(store)); [INFO] [stdout] | ------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | .map(|mut s| s.get(&key).cloned()) [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `remove` are never used [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 3 | trait Storage { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] 4 | fn set(&mut self, key: K, val: V); [INFO] [stdout] 5 | fn get(&self, key: &K) -> Option<&V>; [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | fn remove(&mut self, key: &K) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `email` and `activated` are never read [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 11 | id: u64, [INFO] [stdout] 12 | email: Cow<'static, str>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | activated: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `User` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `remove` are never used [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 29 | trait UserRepository { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 32 | fn get(&self, key: u64) -> Option; [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | [INFO] [stdout] 34 | fn remove(&self, key: u64) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> 1_concepts/1_7_sized/src/main.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | self.store.lock().map(|mut s| s.set(key, val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = self.store.lock().map(|mut s| s.set(key, val)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `mem`, `ptr` [INFO] [stdout] --> 1_concepts/src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | fmt::{self, Display}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | mem, ptr, [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Post` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct Post { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `publish` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl Post { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 45 | fn publish(self) -> Post { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `allow` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl Post { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] 57 | fn allow(self) -> Post { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 68 | impl Post { [INFO] [stdout] | ---------------------------- method in this implementation [INFO] [stdout] 69 | fn delete(self) -> Post { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `deny` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 79 | impl Post { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] 80 | fn deny(self) -> Post { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Sealed` is never used [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) trait Sealed {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Unmoderated` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Unmoderated; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Published` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Published; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Deleted` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Deleted; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `New` is never constructed [INFO] [stdout] --> 2_idioms/2_1_type_safety/src/main.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct New; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GlobalStack` is never constructed [INFO] [stdout] --> 1_concepts/1_3_rc_cell/src/main.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct GlobalStack { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push`, `try_push`, and `pop` are never used [INFO] [stdout] --> 1_concepts/1_3_rc_cell/src/main.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl GlobalStack { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 19 | pub fn push(&self, t: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn try_push(&self, t: T) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn pop(&self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Group`, `Ident`, `Literal`, `Punct`, `Spacing`, `TokenTree` [INFO] [stdout] --> 3_ecosystem/3_2_macro/proc_crate/src/lib.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use proc_macro::{Group, Ident, Literal, Punct, Spacing, TokenStream, TokenTree}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> 3_ecosystem/3_2_macro/proc_crate/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Group`, `Ident`, `Literal`, `Punct`, `Spacing`, `TokenTree` [INFO] [stdout] --> 3_ecosystem/3_2_macro/proc_crate/src/lib.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use proc_macro::{Group, Ident, Literal, Punct, Spacing, TokenStream, TokenTree}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> 3_ecosystem/3_2_macro/proc_crate/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 16s [INFO] running `Command { std: "docker" "inspect" "7ac8bc847d2670aea201b56b2cf59ec95be4d262b813d8d5dcbb29d80e7a9883", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ac8bc847d2670aea201b56b2cf59ec95be4d262b813d8d5dcbb29d80e7a9883", kill_on_drop: false }` [INFO] [stdout] 7ac8bc847d2670aea201b56b2cf59ec95be4d262b813d8d5dcbb29d80e7a9883