[INFO] cloning repository https://github.com/Delorus/rust_learning
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Delorus/rust_learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDelorus%2Frust_learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDelorus%2Frust_learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 85e9ac89dac5dca12156acf98619a6a7add91951
[INFO] checking Delorus/rust_learning against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDelorus%2Frust_learning" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Delorus/rust_learning
[INFO] finished tweaking git repo https://github.com/Delorus/rust_learning
[INFO] tweaked toml for git repo https://github.com/Delorus/rust_learning written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Delorus/rust_learning on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Delorus/rust_learning 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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e1ee76bdccd157f62924a56f067b827513062c64b0c6038322f59150c28d5171
[INFO] running `Command { std: "docker" "start" "-a" "e1ee76bdccd157f62924a56f067b827513062c64b0c6038322f59150c28d5171", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e1ee76bdccd157f62924a56f067b827513062c64b0c6038322f59150c28d5171", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1ee76bdccd157f62924a56f067b827513062c64b0c6038322f59150c28d5171", kill_on_drop: false }`
[INFO] [stdout] e1ee76bdccd157f62924a56f067b827513062c64b0c6038322f59150c28d5171
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8541dcf9c42911f5b6ce4460ecc1120829137ee6bf905c695ed73703c439475
[INFO] running `Command { std: "docker" "start" "-a" "b8541dcf9c42911f5b6ce4460ecc1120829137ee6bf905c695ed73703c439475", kill_on_drop: false }`
[INFO] [stderr]     Checking learning v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `return_closures` is never used
[INFO] [stdout]  --> src/bin/adv_functions.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn return_closures() -> Box<dyn Fn(i32) -> i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/bin/multithreads.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/bin/patterns.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |         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]    --> src/bin/patterns.rs:121:45
[INFO] [stdout]     |
[INFO] [stdout] 121 |         Message::Hello { 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]    --> src/bin/patterns.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Message::Hello { id: 10...12 } => {
[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] error[E0308]: mismatched types
[INFO] [stdout]   --> src/bin/state_pattern.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |         pub fn request_preview(self) -> PendingReviewPost {
[INFO] [stdout]    |                ---------------          ^^^^^^^^^^^^^^^^^ expected `PendingReviewPost`, found `()`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `T` in this scope
[INFO] [stdout]   --> src/bin/adv_types.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | type Result = result::Result<T, io::Error>;
[INFO] [stdout]    |                              ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/smart_ponter.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let c = CustomSmartPointer { data: String::from("some data") };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `return_value` is never used
[INFO] [stdout]  --> src/bin/functions.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn return_value() -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `not_return_value` is never used
[INFO] [stdout]   --> src/bin/functions.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn not_return_value() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/bin/multithreads.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `or_match` is never used
[INFO] [stdout]  --> src/bin/patterns.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn or_match() {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_match` is never used
[INFO] [stdout]   --> src/bin/patterns.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn range_match() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `destruct` is never used
[INFO] [stdout]   --> src/bin/patterns.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn destruct() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip4`
[INFO] [stdout]   --> src/bin/enums.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let ip4 = IpAddrKind::IPv4;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ip4`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip6`
[INFO] [stdout]   --> src/bin/enums.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let ip6 = IpAddrKind::IPv6;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ip6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/bin/smart_ponter.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let b = Tree::Cons(3, a.clone());
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/smart_ponter.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let c = Tree::Cons(4, a.clone());
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `return_value` is never used
[INFO] [stdout]  --> src/bin/functions.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn return_value() -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `not_return_value` is never used
[INFO] [stdout]   --> src/bin/functions.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn not_return_value() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loopback`
[INFO] [stdout]   --> src/bin/enums.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let loopback = IpAddr {
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loopback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/bin/patterns.rs:51:6
[INFO] [stdout]    |
[INFO] [stdout] 51 | enum Message {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `destruct_enum` is never used
[INFO] [stdout]   --> src/bin/patterns.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn destruct_enum() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore_several_value` is never used
[INFO] [stdout]   --> src/bin/patterns.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn ignore_several_value() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_guard` is never used
[INFO] [stdout]    --> src/bin/patterns.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn match_guard() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binding_in_match` is never used
[INFO] [stdout]    --> src/bin/patterns.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn binding_in_match() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `box_pointer` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn box_pointer() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `learning` (bin "state_pattern" test) due to 1 previous error
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]   --> src/bin/generics.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let int = Point {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]  --> src/bin/structures.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct User {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user` is never used
[INFO] [stdout]   --> src/bin/structures.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn create_user() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user_from_another` is never used
[INFO] [stdout]   --> src/bin/structures.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn create_user_from_another() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/bin/structures.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct Point(i32, i32);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `named_tuple` is never used
[INFO] [stdout]   --> src/bin/structures.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn named_tuple() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]   --> src/bin/generics.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let float = Point {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/bin/generics.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn some_func<T, U>(t: T, u: U) -> i32
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/bin/generics.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn some_func<T, U>(t: T, u: U) -> i32
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]  --> src/bin/generics.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `y` is never read
[INFO] [stdout]   --> src/bin/generics.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Point<T> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 22 |     x: T,
[INFO] [stdout] 23 |     y: T,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Point` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]   --> src/bin/generics.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl<T> Point<T> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 27 |     fn x(&self) -> &T {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_generic_point` is never used
[INFO] [stdout]   --> src/bin/generics.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn create_generic_point() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_func` is never used
[INFO] [stdout]   --> src/bin/generics.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn some_func<T, U>(t: T, u: U) -> i32
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_new_thread` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn create_new_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_new_thread` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn wait_new_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_closure_with_new_thread` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn move_closure_with_new_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_channel` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn create_channel() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sending_multiple_values_in_channels` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn sending_multiple_values_in_channels() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutex` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn mutex() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `List` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum List {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cons_list` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn cons_list() -> List {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp3` is never constructed
[INFO] [stdout]   --> src/bin/smart_ponter.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Mp3 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deref_smart_pointers` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn deref_smart_pointers() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomSmartPointer` is never constructed
[INFO] [stdout]   --> src/bin/smart_ponter.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct CustomSmartPointer {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_custom_smart_ptr` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn drop_custom_smart_ptr() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Tree` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | enum Tree {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cons_tree` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn cons_tree() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `immutably_borrows` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn immutably_borrows(a: &i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutably_borrows` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn mutably_borrows(b: &mut i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/bin/smart_ponter.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn demo(r: &RefCell<i32>) {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runtime_borrow_with_refcell` is never used
[INFO] [stdout]    --> src/bin/smart_ponter.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn runtime_borrow_with_refcell() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/bin/smart_ponter.rs:109:10
[INFO] [stdout]     |
[INFO] [stdout] 109 |     Cons(Rc<RefCell<i32>>, Rc<MTree>),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 109 -     Cons(Rc<RefCell<i32>>, Rc<MTree>),
[INFO] [stdout] 109 +     Cons((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `square` is never used
[INFO] [stdout]   --> src/bin/methods.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Rectangle {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 12 |     fn square(size: u32) -> Rectangle {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_hold` is never used
[INFO] [stdout]   --> src/bin/methods.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 34 |     fn can_hold(&self, other: &Rectangle) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/bin/adv_types.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn never_return() -> ! {
[INFO] [stdout]    |    ------------      ^ expected `!`, found `()`
[INFO] [stdout]    |    |
[INFO] [stdout]    |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected type `!`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_new_thread` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn create_new_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_new_thread` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn wait_new_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_closure_with_new_thread` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn move_closure_with_new_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_channel` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn create_channel() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sending_multiple_values_in_channels` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn sending_multiple_values_in_channels() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutex` is never used
[INFO] [stdout]   --> src/bin/multithreads.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn mutex() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/multithreads.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     handle.join();
[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] 25 |     let _ = handle.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/multithreads.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     handle.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = handle.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/multithreads.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     handle.join();
[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] 25 |     let _ = handle.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/multithreads.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     handle.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = handle.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IpAddrKind` is never used
[INFO] [stdout]  --> src/bin/enums.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum IpAddrKind {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_enum` is never used
[INFO] [stdout]   --> src/bin/enums.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn create_enum() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IpAddr` is never constructed
[INFO] [stdout]   --> src/bin/enums.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct IpAddr {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_struct_with_enum` is never used
[INFO] [stdout]   --> src/bin/enums.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn create_struct_with_enum() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/bin/enums.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | enum Message {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]   --> src/bin/enums.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Message {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 37 |     fn call(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_message` is never used
[INFO] [stdout]   --> src/bin/enums.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn call_message() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UsState` is never used
[INFO] [stdout]   --> src/bin/enums.rs:50:6
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum UsState {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Coin` is never used
[INFO] [stdout]   --> src/bin/enums.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 55 | enum Coin {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `value_in_cents` is never used
[INFO] [stdout]   --> src/bin/enums.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn value_in_cents(coin: Coin) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_plus_one` is never used
[INFO] [stdout]   --> src/bin/enums.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn get_plus_one() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0412.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `learning` (bin "adv_types") due to 2 previous errors
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]   --> src/bin/iterators.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let total: i32 = v_iter.sum();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iter_terminated` is never used
[INFO] [stdout]  --> src/bin/iterators.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn iter_terminated() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iter_adaptors` is never used
[INFO] [stdout]   --> src/bin/iterators.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn iter_adaptors() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]  --> src/bin/structures.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct User {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user` is never used
[INFO] [stdout]   --> src/bin/structures.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn create_user() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user_from_another` is never used
[INFO] [stdout]   --> src/bin/structures.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn create_user_from_another() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/bin/structures.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct Point(i32, i32);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `named_tuple` is never used
[INFO] [stdout]   --> src/bin/structures.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn named_tuple() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/collections.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_vector` is never used
[INFO] [stdout]  --> src/bin/collections.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn create_vector() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_value` is never used
[INFO] [stdout]   --> src/bin/collections.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn get_value() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_hash_map` is never used
[INFO] [stdout]   --> src/bin/collections.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn create_hash_map() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stats` is never used
[INFO] [stdout]   --> src/bin/collections.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn get_stats() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stats` is never used
[INFO] [stdout]   --> src/bin/collections.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn stats(v: &Vec<i32>) -> (f64, i32, i32) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b8541dcf9c42911f5b6ce4460ecc1120829137ee6bf905c695ed73703c439475", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8541dcf9c42911f5b6ce4460ecc1120829137ee6bf905c695ed73703c439475", kill_on_drop: false }`
[INFO] [stdout] b8541dcf9c42911f5b6ce4460ecc1120829137ee6bf905c695ed73703c439475
