[INFO] cloning repository https://github.com/jhessin/rust-playground
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jhessin/rust-playground" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhessin%2Frust-playground", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhessin%2Frust-playground'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 397b7bd83e6113231faf031cd9044b859b62a79a
[INFO] checking jhessin/rust-playground against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhessin%2Frust-playground" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] fatal: cannot create directory at 'ch15-4': No space left on device
[INFO] [stderr] warning: Clone succeeded, but checkout failed.
[INFO] [stderr] You can inspect what was checked out with 'git status'
[INFO] [stderr] and retry with 'git restore --source=HEAD :/'
[INFO] [stderr] 
[INFO] checking jhessin/rust-playground against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhessin%2Frust-playground" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jhessin/rust-playground
[INFO] finished tweaking git repo https://github.com/jhessin/rust-playground
[INFO] tweaked toml for git repo https://github.com/jhessin/rust-playground written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jhessin/rust-playground on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jhessin/rust-playground 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" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8d2018cea4c76d7eb3c7368f952be0ff2f42ca2f2b3724cf1d71143c7b462001
[INFO] running `Command { std: "docker" "start" "-a" "8d2018cea4c76d7eb3c7368f952be0ff2f42ca2f2b3724cf1d71143c7b462001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d2018cea4c76d7eb3c7368f952be0ff2f42ca2f2b3724cf1d71143c7b462001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d2018cea4c76d7eb3c7368f952be0ff2f42ca2f2b3724cf1d71143c7b462001", kill_on_drop: false }`
[INFO] [stdout] 8d2018cea4c76d7eb3c7368f952be0ff2f42ca2f2b3724cf1d71143c7b462001
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9bf66f80b6735c13ea26ef46d623d7238f3f53b86d969623799da79dec6451ed
[INFO] running `Command { std: "docker" "start" "-a" "9bf66f80b6735c13ea26ef46d623d7238f3f53b86d969623799da79dec6451ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking hello_macro v0.1.0 (/opt/rustwide/workdir/hello_macro)
[INFO] [stderr]     Checking blog v0.1.0 (/opt/rustwide/workdir/blog)
[INFO] [stderr]     Checking ch16-1-threads v0.1.0 (/opt/rustwide/workdir/ch16-1-threads)
[INFO] [stderr]     Checking ch16-3-mutex v0.1.0 (/opt/rustwide/workdir/ch16-3-mutex)
[INFO] [stderr]     Checking smart-ptrs v0.1.0 (/opt/rustwide/workdir/smart-ptrs)
[INFO] [stderr]     Checking ch18-2 v0.1.0 (/opt/rustwide/workdir/ch18-2)
[INFO] [stderr]     Checking ch17-2 v0.1.0 (/opt/rustwide/workdir/ch17-2)
[INFO] [stderr]     Checking ch19-3 v0.1.0 (/opt/rustwide/workdir/ch19-3)
[INFO] [stderr]     Checking ch18-3 v0.1.0 (/opt/rustwide/workdir/ch18-3)
[INFO] [stderr]     Checking ch19-4 v0.1.0 (/opt/rustwide/workdir/ch19-4)
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> smart-ptrs/src/main.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Cons(i32, Box<List>),
[INFO] [stdout]    |     ---- ^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Cons(i32, Box<List>),
[INFO] [stdout] 23 +     Cons((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch17-3 v0.1.0 (/opt/rustwide/workdir/ch17-3)
[INFO] [stderr]     Checking ch18-1 v0.1.0 (/opt/rustwide/workdir/ch18-1)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> ch18-3/src/main.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 |         1...5 => println!("one through five"),
[INFO] [stdout]     |          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> ch18-3/src/main.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |         'a'...'j' => println!(
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> ch18-3/src/main.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |         'k'...'z' => println!(
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> ch18-3/src/main.rs:1012:36
[INFO] [stdout]      |
[INFO] [stdout] 1012 |                 id: id_variable @ 3...7,
[INFO] [stdout]      |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> ch18-3/src/main.rs:1018:36
[INFO] [stdout]      |
[INFO] [stdout] 1018 |             Message::Hello { id: 10...12 } => println!(
[INFO] [stdout]      |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> ch18-2/src/main.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 |     if let x = my_vec {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `options` are never read
[INFO] [stdout]   --> ch17-2/src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct SelectBox {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 33 |     width: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     height: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     options: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking custom-smart-ptr v0.1.0 (/opt/rustwide/workdir/custom-smart-ptr)
[INFO] [stderr]     Checking ch16-2-messages v0.1.0 (/opt/rustwide/workdir/ch16-2-messages)
[INFO] [stderr]     Checking ch19-2 v0.1.0 (/opt/rustwide/workdir/ch19-2)
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> ch18-2/src/main.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 |     if let x = my_vec {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch15-4 v0.1.0 (/opt/rustwide/workdir/ch15-4)
[INFO] [stderr]     Checking ch15-6 v0.1.0 (/opt/rustwide/workdir/ch15-6)
[INFO] [stderr]     Checking ch19-1 v0.1.0 (/opt/rustwide/workdir/ch19-1)
[INFO] [stderr]     Checking ch15-5 v0.1.0 (/opt/rustwide/workdir/ch15-5)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> ch19-2/src/main.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn parse_context(context: Context) -> Result<(), &str> {
[INFO] [stdout]     |                               ^^^^^^^                ---- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn parse_context(context: Context<'_>) -> Result<(), &str> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> ch18-3/src/main.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 |         1...5 => println!("one through five"),
[INFO] [stdout]     |          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> ch18-3/src/main.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |         'a'...'j' => println!(
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> ch18-3/src/main.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |         'k'...'z' => println!(
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> ch18-3/src/main.rs:1012:36
[INFO] [stdout]      |
[INFO] [stdout] 1012 |                 id: id_variable @ 3...7,
[INFO] [stdout]      |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> ch18-3/src/main.rs:1018:36
[INFO] [stdout]      |
[INFO] [stdout] 1018 |             Message::Hello { id: 10...12 } => println!(
[INFO] [stdout]      |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> ch15-5/src/main.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout] 8 +     Cons((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> ch15-4/src/main.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Cons(i32, Rc<List>),
[INFO] [stdout]   |     ---- ^^^  ^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 6 -     Cons(i32, Rc<List>),
[INFO] [stdout] 6 +     Cons((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> ch15-5/src/main.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 |         messenger: &T,
[INFO] [stdout]    |                    ^^ this lifetime flows to the output
[INFO] [stdout] 74 |         max: usize,
[INFO] [stdout] 75 |     ) -> LimitTracker<T> {
[INFO] [stdout]    |          --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     ) -> LimitTracker<'_, T> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> ch19-1/src/main.rs:469:33
[INFO] [stdout]     |
[INFO] [stdout] 469 |         println!("COUNTER: {}", COUNTER);
[INFO] [stdout]     |                                 ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> ch15-6/src/main.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]   |     ---- ^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 8 -     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 8 +     Cons((), RefCell<Rc<List>>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `children` are never read
[INFO] [stdout]   --> ch15-6/src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct Node {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 40 |     value: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     parent: RefCell<Weak<Node>>,
[INFO] [stdout] 42 |     children: RefCell<Vec<Rc<Node>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> ch15-4/src/main.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Cons(i32, Rc<List>),
[INFO] [stdout]   |     ---- ^^^  ^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 6 -     Cons(i32, Rc<List>),
[INFO] [stdout] 6 +     Cons((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> ch15-5/src/main.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout] 8 +     Cons((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> ch15-5/src/main.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 |         messenger: &T,
[INFO] [stdout]    |                    ^^ this lifetime flows to the output
[INFO] [stdout] 74 |         max: usize,
[INFO] [stdout] 75 |     ) -> LimitTracker<T> {
[INFO] [stdout]    |          --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     ) -> LimitTracker<'_, T> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `options` are never read
[INFO] [stdout]   --> ch17-2/src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct SelectBox {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 33 |     width: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     height: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     options: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectBox` has a derived impl for the trait `Debug`, 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: fields `0` and `1` are never read
[INFO] [stdout]   --> smart-ptrs/src/main.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Cons(i32, Box<List>),
[INFO] [stdout]    |     ---- ^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Cons(i32, Box<List>),
[INFO] [stdout] 23 +     Cons((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> ch19-2/src/main.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn parse_context(context: Context) -> Result<(), &str> {
[INFO] [stdout]     |                               ^^^^^^^                ---- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn parse_context(context: Context<'_>) -> Result<(), &str> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> ch19-1/src/main.rs:469:33
[INFO] [stdout]     |
[INFO] [stdout] 469 |         println!("COUNTER: {}", COUNTER);
[INFO] [stdout]     |                                 ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> ch15-6/src/main.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]   |     ---- ^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 8 -     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 8 +     Cons((), RefCell<Rc<List>>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `children` are never read
[INFO] [stdout]   --> ch15-6/src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct Node {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 40 |     value: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     parent: RefCell<Weak<Node>>,
[INFO] [stdout] 42 |     children: RefCell<Vec<Rc<Node>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking quote v0.6.12
[INFO] [stderr]     Checking syn v0.14.9
[INFO] [stderr]     Checking hello_macro_derive v0.1.0 (/opt/rustwide/workdir/hello_macro_derive)
[INFO] [stderr]     Checking ch19-6 v0.1.0 (/opt/rustwide/workdir/ch19-6)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.87s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "9bf66f80b6735c13ea26ef46d623d7238f3f53b86d969623799da79dec6451ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9bf66f80b6735c13ea26ef46d623d7238f3f53b86d969623799da79dec6451ed", kill_on_drop: false }`
[INFO] [stdout] 9bf66f80b6735c13ea26ef46d623d7238f3f53b86d969623799da79dec6451ed
