[INFO] cloning repository https://github.com/grajnikanth/rust_book_exs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/grajnikanth/rust_book_exs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgrajnikanth%2Frust_book_exs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgrajnikanth%2Frust_book_exs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a21fa10a147af0898615d7706e29a64e9691149c
[INFO] testing grajnikanth/rust_book_exs against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgrajnikanth%2Frust_book_exs" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/grajnikanth/rust_book_exs
[INFO] finished tweaking git repo https://github.com/grajnikanth/rust_book_exs
[INFO] tweaked toml for git repo https://github.com/grajnikanth/rust_book_exs written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/grajnikanth/rust_book_exs on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/grajnikanth/rust_book_exs 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c
[INFO] running `Command { std: "docker" "start" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust_book_exs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Pair` is never constructed
[INFO] [stdout]   --> src/lib.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Pair<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lib.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<T> Pair<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 64 |     fn new(x: T, y: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compare_display` is never used
[INFO] [stdout]   --> src/lib.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<T: Display + PartialOrd> Pair<T> {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn compare_display(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/bin/47_errors_6.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let f = File::open("hello.txt").expect("Failed to open hello.txt");
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/24_vectors_2.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut v = vec![1, 2, 3, 4, 5];
[INFO] [stdout]   |         ----^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/7_enum_ex4.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Write(String),
[INFO] [stdout]   |     ----- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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] 7 -     Write(String),
[INFO] [stdout] 7 +     Write(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit`, `Move`, and `ChangeColor` are never constructed
[INFO] [stdout]  --> src/bin/7_enum_ex4.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Message {
[INFO] [stdout]   |      ------- variants in this enum
[INFO] [stdout] 5 |     Quit,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     Move {x: i32, y: i32}, // Struct data in this variant
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Write(String),
[INFO] [stdout] 8 |     ChangeColor(i32, i32, i32) //data holds three integers
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `does_not_exist`
[INFO] [stdout]  --> src/bin/24_vectors_2.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let does_not_exist = &v[100]; 
[INFO] [stdout]   |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_does_not_exist`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Nickel`, `Dime`, and `Quarter` are never constructed
[INFO] [stdout]  --> src/bin/9_match_ex1.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Coin {
[INFO] [stdout]   |      ---- variants in this enum
[INFO] [stdout] 3 |     Penny,
[INFO] [stdout] 4 |     Nickel,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 5 |     Dime, 
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     Quarter
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_book_exs` (bin "57_generics_2") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0369]: binary operation `>` cannot be applied to type `T`
[INFO] [stdout]   --> src/bin/57_generics_2.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |         if item > largest {
[INFO] [stdout]    |            ---- ^ ------- T
[INFO] [stdout]    |            |
[INFO] [stdout]    |            T
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialOrd`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn largest<T: std::cmp::PartialOrd>(list: &[T]) -> T {
[INFO] [stdout]    |             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0369`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut ref1 = model_3000.on_sale.get(); //makes a copy of the bool
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut ref2 = model_3000.on_sale.get();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut ref5 = model_3000.on_sale.get(); 
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut ref6 = model_3000.on_sale.get();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut ref3 = model_3000_no_cell.on_sale; // makes a copy 
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut ref4 = model_3000_no_cell.on_sale;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref6`
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut ref6 = model_3000.on_sale.get();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref6`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref3`
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut ref3 = model_3000_no_cell.on_sale; // makes a copy 
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `company_name`, `model_name`, `screen_size`, `memory`, and `date_issued` are never read
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | struct PhoneModel {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout]  9 |     company_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     model_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 11 |     screen_size: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     memory: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     date_issued: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhoneModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `company_name`, `model_name`, `screen_size`, `memory`, and `date_issued` are never read
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct PhoneModelNoCell {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 21 |     company_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     model_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     screen_size: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     memory: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     date_issued: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhoneModelNoCell` 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 `name` and `inner_struct` are never read
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct Outer {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 33 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     inner_struct: Inner,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Outer` 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 `name` and `id` are never read
[INFO] [stdout]   --> src/bin/80_mut_w_cell.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Inner {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 39 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 40 |     id: u32
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Inner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c", kill_on_drop: false }`
[INFO] [stdout] e07451249e80ea0aed2b2e6b0381ea82e385352f8ea9453ad1428590a7d3af1c
