[INFO] cloning repository https://github.com/gyng/rust-primer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gyng/rust-primer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyng%2Frust-primer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyng%2Frust-primer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ed24db7d18d5c614ab80a44a1f34288f101769b0
[INFO] checking gyng/rust-primer against 1.55.0 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyng%2Frust-primer" "/workspace/builds/worker-106/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-106/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/gyng/rust-primer on toolchain 1.55.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/gyng/rust-primer
[INFO] finished tweaking git repo https://github.com/gyng/rust-primer
[INFO] tweaked toml for git repo https://github.com/gyng/rust-primer written to /workspace/builds/worker-106/source/Cargo.toml
[INFO] crate git repo https://github.com/gyng/rust-primer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bbeaf5c1ff8f6f567d13d209c8f0ee553998addeebff04f21d5bc46207944fc1
[INFO] running `Command { std: "docker" "start" "-a" "bbeaf5c1ff8f6f567d13d209c8f0ee553998addeebff04f21d5bc46207944fc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bbeaf5c1ff8f6f567d13d209c8f0ee553998addeebff04f21d5bc46207944fc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bbeaf5c1ff8f6f567d13d209c8f0ee553998addeebff04f21d5bc46207944fc1", kill_on_drop: false }`
[INFO] [stdout] bbeaf5c1ff8f6f567d13d209c8f0ee553998addeebff04f21d5bc46207944fc1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 494eb38399b1db11758dfedca52d8918e058d7ebe192d685dd33313a4315d88e
[INFO] running `Command { std: "docker" "start" "-a" "494eb38399b1db11758dfedca52d8918e058d7ebe192d685dd33313a4315d88e", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling syn v1.0.65
[INFO] [stderr]    Compiling libc v0.2.91
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking os_str_bytes v2.4.0
[INFO] [stderr]     Checking solution-match v0.1.0 (/opt/rustwide/workdir/05-match-result/solution)
[INFO] [stderr]     Checking demo-generics v0.1.0 (/opt/rustwide/workdir/04-generics-traits/demo)
[INFO] [stderr]     Checking solution2 v0.1.0 (/opt/rustwide/workdir/02-basics/solution)
[INFO] [stderr]     Checking solution-structs v0.1.0 (/opt/rustwide/workdir/03-structs-lifetimes/solution)
[INFO] [stderr]     Checking demo-strings v0.1.0 (/opt/rustwide/workdir/06-strings/demo)
[INFO] [stderr]     Checking exercise-generics v0.1.0 (/opt/rustwide/workdir/04-generics-traits/exercise)
[INFO] [stderr]     Checking solution-generics v0.1.0 (/opt/rustwide/workdir/04-generics-traits/solution)
[INFO] [stderr]     Checking solution v0.1.0 (/opt/rustwide/workdir/01-hello/solution)
[INFO] [stderr]     Checking exercise-match v0.1.0 (/opt/rustwide/workdir/05-match-result/exercise)
[INFO] [stderr]     Checking demo-match v0.1.0 (/opt/rustwide/workdir/05-match-result/demo)
[INFO] [stderr]     Checking demo-structs v0.1.0 (/opt/rustwide/workdir/03-structs-lifetimes/demo)
[INFO] [stderr]     Checking exercise-libraries v0.1.0 (/opt/rustwide/workdir/07-external-libraries/exercise)
[INFO] [stderr]     Checking exercise-structs v0.1.0 (/opt/rustwide/workdir/03-structs-lifetimes/exercise)
[INFO] [stderr]     Checking structs-exercise v0.1.0 (/opt/rustwide/workdir/02-basics/exercise)
[INFO] [stderr]     Checking exercise-hello v0.1.0 (/opt/rustwide/workdir/01-hello/exercise)
[INFO] [stderr]     Checking demo v0.1.0 (/opt/rustwide/workdir/02-basics/demo)
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stdout] warning: unused import: `std::process`
[INFO] [stdout]  --> 05-match-result/demo/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]  --> 05-match-result/demo/src/main.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 |     };
[INFO] [stdout]   |      ^ help: remove this semicolon
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> 05-match-result/demo/src/main.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     if let x = Some(wrapper) {
[INFO] [stdout] 105 | |         dbg!(x);
[INFO] [stdout] 106 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]  --> 02-basics/solution/src/main.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut x = 1;
[INFO] [stdout]   |             ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> 04-generics-traits/solution/src/main.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> 04-generics-traits/solution/src/main.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process`
[INFO] [stdout]  --> 05-match-result/demo/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]  --> 05-match-result/demo/src/main.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 |     };
[INFO] [stdout]   |      ^ help: remove this semicolon
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> 05-match-result/demo/src/main.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     if let x = Some(wrapper) {
[INFO] [stdout] 105 | |         dbg!(x);
[INFO] [stdout] 106 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]  --> 05-match-result/demo/src/main.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         x: f64,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]  --> 05-match-result/demo/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         y: f64,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LineTo`
[INFO] [stdout]   --> 05-match-result/demo/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         LineTo { x: f64, y: f64 },
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LineBetween`
[INFO] [stdout]   --> 05-match-result/demo/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         LineBetween((Point, Point)),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Clear`
[INFO] [stdout]   --> 05-match-result/demo/src/main.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         Clear,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found `?`
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut map: HashMap<&str, ???> = HashMap::new();
[INFO] [stdout]    |             --------                ^ expected identifier
[INFO] [stdout]    |             |      |
[INFO] [stdout]    |             |      help: use `=` if you meant to assign
[INFO] [stdout]    |             while parsing the type for `mut map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, or an operator, found `,`
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut map: HashMap<&str, ???> = HashMap::new();
[INFO] [stdout]    |                                  ^ expected one of 7 possible tokens
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found `?`
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut map: HashMap<&str, ???> = HashMap::new();
[INFO] [stdout]    |             --------                ^ expected identifier
[INFO] [stdout]    |             |      |
[INFO] [stdout]    |             |      help: use `=` if you meant to assign
[INFO] [stdout]    |             while parsing the type for `mut map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, or an operator, found `,`
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut map: HashMap<&str, ???> = HashMap::new();
[INFO] [stdout]    |                                  ^ expected one of 7 possible tokens
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> 02-basics/exercise/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let x: u8 = 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]   --> 02-basics/exercise/src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let xs = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mutability`
[INFO] [stdout]  --> 02-basics/exercise/src/main.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn mutability() -> u8 {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `casting`
[INFO] [stdout]   --> 02-basics/exercise/src/main.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn casting() -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `collections`
[INFO] [stdout]   --> 02-basics/exercise/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn collections() -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!` or `::`, found `:`
[INFO] [stdout]   --> 07-external-libraries/exercise/src/main.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | https://docs.serde.rs/serde_json/#parsing-json-as-strongly-typed-data-structures
[INFO] [stdout]    |      ^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> 04-generics-traits/exercise/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::collections::HashMap;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]  --> 06-strings/demo/src/main.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let s2: String = String::from_str(s).unwrap(); // s could be invalid bytes for a String
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> 03-structs-lifetimes/exercise/src/shapes/circle.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/shapes/rectangle.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> 04-generics-traits/exercise/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::collections::HashMap;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> 03-structs-lifetimes/demo/src/main.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn new(width: u32, height: u32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]  --> 06-strings/demo/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let s2: String = s.to_owned();
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s3`
[INFO] [stdout]   --> 06-strings/demo/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let s3: &str = s2.as_str();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `double_area_rect_reference`
[INFO] [stdout]   --> 03-structs-lifetimes/demo/src/main.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn double_area_rect_reference(rect: &Rectangle) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Rectangle` has no field named `height`
[INFO] [stdout]  --> 03-structs-lifetimes/exercise/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         height: 3.0f64,
[INFO] [stdout]   |         ^^^^^^ `Rectangle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_weight`
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |             fn get_weight(&self) -> i32;
[INFO] [stdout]    |             ---------------------------- `get_weight` from trait
[INFO] [stdout] ...
[INFO] [stdout] 52 |         impl HasWeight for Cow {}
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ missing `get_weight` in implementation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_weight`
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |             fn get_weight(&self) -> i32;
[INFO] [stdout]    |             ---------------------------- `get_weight` from trait
[INFO] [stdout] ...
[INFO] [stdout] 54 |         impl HasWeight for Cat {}
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ missing `get_weight` in implementation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |               get_weight(Cow {
[INFO] [stdout]    |  _____________^^^^^^^^^^_-
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             expected 0 arguments
[INFO] [stdout] 61 | |                 meat_weight: 1,
[INFO] [stdout] 62 | |                 milk_weight: 5
[INFO] [stdout] 63 | |             }),
[INFO] [stdout]    | |_____________- supplied 1 argument
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |         fn get_weight() -> i32 {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercise-generics` due to 3 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |         assert_eq!(get_weight(Cat { furballs: 3 }), 3);
[INFO] [stdout]    |                    ^^^^^^^^^^ ------------------- supplied 1 argument
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected 0 arguments
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |         fn get_weight() -> i32 {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> 04-generics-traits/solution/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::collections::HashMap;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 04-generics-traits/exercise/src/main.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |         fn get_weight() -> i32 {}
[INFO] [stdout]    |            ----------      ^^^ expected `i32`, found `()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]  --> 06-strings/demo/src/main.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let s2: String = String::from_str(s).unwrap(); // s could be invalid bytes for a String
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]  --> 06-strings/demo/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let s2: String = s.to_owned();
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s3`
[INFO] [stdout]   --> 06-strings/demo/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let s3: &str = s2.as_str();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `area` is private
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     println!("Area of a 2 x 3 rectangle is {:?}", rect.area());
[INFO] [stdout]    |                                                        ^^^^ private associated function
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/rectangle.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     fn area(&self) -> f64 {
[INFO] [stdout]    |     --------------------- private associated function defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Circle` has no field named `radius`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let circ = Circle { radius: 1.0f64 };
[INFO] [stdout]    |                         ^^^^^^ `Circle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `area` found for struct `Circle` in the current scope
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 |     println!("Area of a unit circle is {:?}", circ.area());
[INFO] [stdout]    |                                                    ^^^^ method not found in `Circle`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/circle.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Circle {}
[INFO] [stdout]    | ----------------- method `area` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `height` on type `&Rectangle`
[INFO] [stdout]  --> 03-structs-lifetimes/exercise/src/shapes/rectangle.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 |         self.width * self.height
[INFO] [stdout]   |                           ^^^^^^ unknown field
[INFO] [stdout]   |
[INFO] [stdout]   = note: available fields are: `width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0560, E0599, E0609, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0560`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 03-structs-lifetimes/solution/src/shapes/circle.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 03-structs-lifetimes/solution/src/shapes/rectangle.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 03-structs-lifetimes/solution/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> 02-basics/exercise/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let x: u8 = 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]   --> 02-basics/exercise/src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let xs = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> 03-structs-lifetimes/demo/src/main.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn new(width: u32, height: u32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `double_area_rect_reference`
[INFO] [stdout]   --> 03-structs-lifetimes/demo/src/main.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn double_area_rect_reference(rect: &Rectangle) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!` or `::`, found `:`
[INFO] [stdout]   --> 07-external-libraries/exercise/src/main.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | https://docs.serde.rs/serde_json/#parsing-json-as-strongly-typed-data-structures
[INFO] [stdout]    |      ^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn parse_value(input: &str) -> Sculpture {
[INFO] [stdout]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Bunny`
[INFO] [stdout]  --> 05-match-result/exercise/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Bunny,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]  --> 02-basics/solution/src/main.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut x = 1;
[INFO] [stdout]   |             ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Teapot`
[INFO] [stdout]  --> 05-match-result/exercise/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Teapot,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_value`
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn parse_value(input: &str) -> Sculpture {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> 05-match-result/solution/src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mutability`
[INFO] [stdout]  --> 02-basics/solution/src/main.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn mutability() -> u8 {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `rectangle::Rectangle` has no field named `height`
[INFO] [stdout]  --> 03-structs-lifetimes/exercise/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         height: 3.0f64,
[INFO] [stdout]   |         ^^^^^^ `rectangle::Rectangle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Bunny`
[INFO] [stdout]  --> 05-match-result/solution/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Bunny,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Teapot`
[INFO] [stdout]  --> 05-match-result/solution/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Teapot,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `casting`
[INFO] [stdout]   --> 02-basics/solution/src/main.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn casting() -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_value`
[INFO] [stdout]   --> 05-match-result/solution/src/main.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn parse_value(input: &str) -> Option<Sculpture> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `collections`
[INFO] [stdout]   --> 02-basics/solution/src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn collections() -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         assert_eq!(parse_value("bunny"), Some(Sculpture::Bunny));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Sculpture`, found enum `Option`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Sculpture`
[INFO] [stdout]               found enum `Option<Sculpture>`
[INFO] [stdout]    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         assert_eq!(parse_value("teapot"), Some(Sculpture::Teapot));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Sculpture`, found enum `Option`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Sculpture`
[INFO] [stdout]               found enum `Option<Sculpture>`
[INFO] [stdout]    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         assert_eq!(parse_value("taco"), None);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Sculpture`, found enum `Option`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Sculpture`
[INFO] [stdout]               found enum `Option<_>`
[INFO] [stdout]    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 05-match-result/exercise/src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         assert_eq!(value, "value");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Option<&str>`
[INFO] [stdout]            found reference `&str`
[INFO] [stdout]    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `area` is private
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     println!("Area of a 2 x 3 rectangle is {:?}", rect.area());
[INFO] [stdout]    |                                                        ^^^^ private associated function
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/rectangle.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     fn area(&self) -> f64 {
[INFO] [stdout]    |     --------------------- private associated function defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `circle::Circle` has no field named `radius`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let circ = Circle { radius: 1.0f64 };
[INFO] [stdout]    |                         ^^^^^^ `circle::Circle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `area` found for struct `circle::Circle` in the current scope
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 |     println!("Area of a unit circle is {:?}", circ.area());
[INFO] [stdout]    |                                                    ^^^^ method not found in `circle::Circle`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/circle.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Circle {}
[INFO] [stdout]    | ----------------- method `area` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `circle::Circle` has no field named `radius`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:26:39
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mutable_circle = Circle { radius: 1.0 };
[INFO] [stdout]    |                                       ^^^^^^ `circle::Circle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 |         mutate_circle_double_radius(mutable_circle);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     expected `&mut circle::Circle`, found struct `circle::Circle`
[INFO] [stdout]    |                                     help: consider mutably borrowing here: `&mut mutable_circle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `area` found for struct `circle::Circle` in the current scope
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:28:39
[INFO] [stdout]    |
[INFO] [stdout] 28 |         println!("{}", mutable_circle.area());
[INFO] [stdout]    |                                       ^^^^ method not found in `circle::Circle`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/circle.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Circle {}
[INFO] [stdout]    | ----------------- method `area` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `area` found for struct `circle::Circle` in the current scope
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |         assert_eq!(mutable_circle.area(), Circle { radius: 2.0 }.area());
[INFO] [stdout]    |                                   ^^^^ method not found in `circle::Circle`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/circle.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Circle {}
[INFO] [stdout]    | ----------------- method `area` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `circle::Circle` has no field named `radius`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:32:52
[INFO] [stdout]    |
[INFO] [stdout] 32 |         assert_eq!(mutable_circle.area(), Circle { radius: 2.0 }.area());
[INFO] [stdout]    |                                                    ^^^^^^ `circle::Circle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `area` found for struct `circle::Circle` in the current scope
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:32:66
[INFO] [stdout]    |
[INFO] [stdout] 32 |         assert_eq!(mutable_circle.area(), Circle { radius: 2.0 }.area());
[INFO] [stdout]    |                                                                  ^^^^ method not found in `circle::Circle`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: 03-structs-lifetimes/exercise/src/shapes/circle.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Circle {}
[INFO] [stdout]    | ----------------- method `area` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `radius` on type `&mut circle::Circle`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |             circle.radius = circle.radius * 2.0;
[INFO] [stdout]    |                    ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `radius` on type `&mut circle::Circle`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/main.rs:22:36
[INFO] [stdout]    |
[INFO] [stdout] 22 |             circle.radius = circle.radius * 2.0;
[INFO] [stdout]    |                                    ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `circle::Circle` has no field named `radius`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/shapes/circle.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let circle = Circle { radius: 1.0f64 };
[INFO] [stdout]    |                               ^^^^^^ `circle::Circle` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `area` found for struct `circle::Circle` in the current scope
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/shapes/circle.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Circle {}
[INFO] [stdout]    | ----------------- method `area` not found for this
[INFO] [stdout] ...
[INFO] [stdout] 13 |         let actual = circle.area();
[INFO] [stdout]    |                             ^^^^ method not found in `circle::Circle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `height` on type `&rectangle::Rectangle`
[INFO] [stdout]  --> 03-structs-lifetimes/exercise/src/shapes/rectangle.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 |         self.width * self.height
[INFO] [stdout]   |                           ^^^^^^ unknown field
[INFO] [stdout]   |
[INFO] [stdout]   = note: available fields are: `width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `rectangle::Rectangle` has no field named `height`
[INFO] [stdout]   --> 03-structs-lifetimes/exercise/src/shapes/rectangle.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             height: 3.0f64,
[INFO] [stdout]    |             ^^^^^^ `rectangle::Rectangle` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0560, E0599, E0609, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "494eb38399b1db11758dfedca52d8918e058d7ebe192d685dd33313a4315d88e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "494eb38399b1db11758dfedca52d8918e058d7ebe192d685dd33313a4315d88e", kill_on_drop: false }`
[INFO] [stdout] 494eb38399b1db11758dfedca52d8918e058d7ebe192d685dd33313a4315d88e
