[INFO] cloning repository https://github.com/BruceChar/LearnRustByExample
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BruceChar/LearnRustByExample" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBruceChar%2FLearnRustByExample", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBruceChar%2FLearnRustByExample'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2150219561f9dd455dbbc74483301654dc899e9f
[INFO] checking BruceChar/LearnRustByExample against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBruceChar%2FLearnRustByExample" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BruceChar/LearnRustByExample
[INFO] finished tweaking git repo https://github.com/BruceChar/LearnRustByExample
[INFO] tweaked toml for git repo https://github.com/BruceChar/LearnRustByExample written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BruceChar/LearnRustByExample on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BruceChar/LearnRustByExample 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dead83c74620ee36aaf93caa54bbf1ff03fb775431acd25664865110d0c96cc5
[INFO] running `Command { std: "docker" "start" "-a" "dead83c74620ee36aaf93caa54bbf1ff03fb775431acd25664865110d0c96cc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dead83c74620ee36aaf93caa54bbf1ff03fb775431acd25664865110d0c96cc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dead83c74620ee36aaf93caa54bbf1ff03fb775431acd25664865110d0c96cc5", kill_on_drop: false }`
[INFO] [stdout] dead83c74620ee36aaf93caa54bbf1ff03fb775431acd25664865110d0c96cc5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87d6bcb22d3cb8d01bfc679566dd264ae468b2fb64e13274ec94f54e75f3764b
[INFO] running `Command { std: "docker" "start" "-a" "87d6bcb22d3cb8d01bfc679566dd264ae468b2fb64e13274ec94f54e75f3764b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking another v0.1.0 (/opt/rustwide/workdir/src/another)
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking anolib v0.1.0 (/opt/rustwide/workdir/anolib)
[INFO] [stderr]     Checking mylib v0.1.0 (/opt/rustwide/workdir/mylib)
[INFO] [stderr]     Checking RustByExamples v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io::stdin`
[INFO] [stdout]  --> examples/struct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::stdin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/thread.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Unit` is never constructed
[INFO] [stdout]  --> examples/struct.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Unit;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `age` are never read
[INFO] [stdout]   --> examples/struct.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Person<'a> {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 12 |   name: &'a str,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 13 |   age: u8
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Person` 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 `p` and `sex` are never read
[INFO] [stdout]   --> examples/struct.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Man<'a> {
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 18 |   p: Person<'a>,
[INFO] [stdout]    |   ^
[INFO] [stdout] 19 |   sex: &'a str
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Man` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main1` is never used
[INFO] [stdout]  --> examples/thread.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn main1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking start v0.1.0 (/opt/rustwide/workdir/start)
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> examples/generic.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lines as iLines`
[INFO] [stdout]  --> examples/generic.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Lines as iLines, BufReader, BufRead};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Lines`
[INFO] [stdout]  --> examples/generic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::Lines;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> examples/from_into.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             Err(e) => Person::default()
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `age` are never read
[INFO] [stdout]  --> examples/from_into.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Person {
[INFO] [stdout]   |        ------ fields in this struct
[INFO] [stdout] 3 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     age: u8,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Person` 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: enum `UsState` is never used
[INFO] [stdout]  --> examples/match.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum UsState {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Coin` is never used
[INFO] [stdout]   --> examples/match.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Coin {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `value_in_cents` is never used
[INFO] [stdout]   --> examples/match.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn value_in_cents(coin: Coin) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_bind` is never used
[INFO] [stdout]   --> examples/match.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn other_bind(coin: Coin) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus_one` is never used
[INFO] [stdout]   --> examples/match.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn plus_one(x: Option<i32>) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_without_quarter` is never used
[INFO] [stdout]   --> examples/match.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn count_without_quarter(coins: &Vec<Coin>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_while` is never used
[INFO] [stdout]   --> examples/match.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn count_while(coins: &mut Vec<Coin>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `HashMap<_, _>`
[INFO] [stdout]   --> examples/rc.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let m = HashMap::new();
[INFO] [stdout]    |         ^   -------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `m` an explicit type, where the type for type parameter `K` is specified
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let m: HashMap<K, V> = HashMap::new();
[INFO] [stdout]    |          +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DerefMut`
[INFO] [stdout]  --> examples/trait.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lines`
[INFO] [stdout]   --> examples/generic.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let lines = "some\nniubi\nstring".lines();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lines`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::alloc::handle_alloc_error`
[INFO] [stdout]  --> examples/trait.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::handle_alloc_error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> examples/func.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn factory(x: i32) -> Box<Fn(i32) -> i32> {
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn factory(x: i32) -> Box<dyn Fn(i32) -> i32> {
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `age`, and `subject` are never read
[INFO] [stdout]   --> examples/struct_inherit.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Teacher {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 44 |     apple_eater: AppleEater,
[INFO] [stdout] 45 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     age: u16,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 47 |     subject: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Student` is never constructed
[INFO] [stdout]   --> examples/struct_inherit.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct Student {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eat_granny_smith` is never used
[INFO] [stdout]   --> examples/struct_inherit.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout]  7 |     impl AppleEater {
[INFO] [stdout]    |     --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |         pub fn eat_granny_smith(&mut self) { self.granny_smiths += 1; }
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eat_granny_smith` is never used
[INFO] [stdout]   --> examples/struct_inherit.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub trait AsMutAppleEater: AsAppleEater {
[INFO] [stdout]    |               --------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 34 |         fn eat_granny_smith(&mut self)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustByExamples` (example "rc") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]   --> examples/smart_point.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::borrow::{BorrowMut, Borrow};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> examples/smart_point.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> examples/smart_point.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::cell::{RefMut, RefCell};
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]    --> examples/trait.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let o = Some(3);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Size` is never used
[INFO] [stdout]  --> examples/trait.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | trait Size {
[INFO] [stdout]   |       ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Show` is never used
[INFO] [stdout]   --> examples/trait.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | trait Show: Debug {
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]   --> examples/trait.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Test {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> examples/trait.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Test {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 35 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_ref` is never used
[INFO] [stdout]   --> examples/trait.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn demo_ref<T>(t:&T) where T:Debug {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_type` is never used
[INFO] [stdout]   --> examples/trait.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn show_type<T:Debug>(_v: &T) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Counter` is never constructed
[INFO] [stdout]   --> examples/trait.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct Counter<T> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/main.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |   use super::*;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/main.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod tests{
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/iterator.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut names = vec!["Bruce", "Chal", "Grooy"];
[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]    --> examples/iterator.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let mut names = ["Bruce", "Chal", "Grooy"];
[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]    --> examples/iterator.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let mut fib = Fibonacci::new();
[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]    --> examples/iterator.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let mut fib = Fibonacci::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `names`
[INFO] [stdout]    --> examples/iterator.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let names = ["Bruce", "WTF"];
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_names`
[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]    --> examples/iterator.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let mut word = Words::new("Hello Bruce I am WTFUCKER");
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_type` is never used
[INFO] [stdout]   --> examples/iterator.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn print_type<T>(_: &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: struct `Fibonacci` is never constructed
[INFO] [stdout]   --> examples/iterator.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Fibonacci {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> examples/iterator.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Fibonacci {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 37 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]    --> examples/iterator.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl<'a> Words<'a> {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 126 |     fn iter(&'a self) -> IterHelper<'a> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exam_run` is never used
[INFO] [stdout]    --> examples/iterator.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn exam_run() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]  --> src/main.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn print(a: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]   --> examples/smart_point.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let a = Rc::new(Cons(Rc::new(RefCell::new(1)),
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: expected `i32`, found `Rc<RefCell<{integer}>>`
[INFO] [stdout]   --> examples/smart_point.rs:30:26
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let a = Rc::new(Cons(Rc::new(RefCell::new(1)),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected type `i32`
[INFO] [stdout]             found struct `Rc<RefCell<{integer}>>`
[INFO] [stdout] note: expected `RefCell<Rc<List>>`, found `Rc<List>`
[INFO] [stdout]   --> examples/smart_point.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |                          Rc::new(Nil)));
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout]    = note: expected struct `RefCell<Rc<_>>`
[INFO] [stdout]               found struct `Rc<_>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> examples/smart_point.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] help: call `Into::into` on this expression to convert `Rc<List>` into `RefCell<Rc<List>>`
[INFO] [stdout]    |
[INFO] [stdout] 31 |                          Rc::new(Nil).into()));
[INFO] [stdout]    |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]   --> examples/smart_point.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut b = Cons(Rc::new(RefCell::new(2)), Rc::clone(&a));
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: expected `i32`, found `Rc<RefCell<{integer}>>`
[INFO] [stdout]   --> examples/smart_point.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut b = Cons(Rc::new(RefCell::new(2)), Rc::clone(&a));
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected type `i32`
[INFO] [stdout]             found struct `Rc<RefCell<{integer}>>`
[INFO] [stdout] note: expected `RefCell<Rc<List>>`, found `Rc<List>`
[INFO] [stdout]   --> examples/smart_point.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut b = Cons(Rc::new(RefCell::new(2)), Rc::clone(&a));
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected struct `RefCell<Rc<_>>`
[INFO] [stdout]               found struct `Rc<_>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> examples/smart_point.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] help: call `Into::into` on this expression to convert `Rc<List>` into `RefCell<Rc<List>>`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut b = Cons(Rc::new(RefCell::new(2)), Rc::clone(&a).into());
[INFO] [stdout]    |                                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]   --> examples/smart_point.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let  c = Cons(Rc::new(RefCell::new(3)), a.clone()); // 只增加引用计数
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: expected `i32`, found `Rc<RefCell<{integer}>>`
[INFO] [stdout]   --> examples/smart_point.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let  c = Cons(Rc::new(RefCell::new(3)), a.clone()); // 只增加引用计数
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected type `i32`
[INFO] [stdout]             found struct `Rc<RefCell<{integer}>>`
[INFO] [stdout] note: expected `RefCell<Rc<List>>`, found `Rc<List>`
[INFO] [stdout]   --> examples/smart_point.rs:34:45
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let  c = Cons(Rc::new(RefCell::new(3)), a.clone()); // 只增加引用计数
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout]    = note: expected struct `RefCell<Rc<_>>`
[INFO] [stdout]               found struct `Rc<_>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> examples/smart_point.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] help: call `Into::into` on this expression to convert `Rc<List>` into `RefCell<Rc<List>>`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let  c = Cons(Rc::new(RefCell::new(3)), a.clone().into()); // 只增加引用计数
[INFO] [stdout]    |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustByExamples` (example "smart_point") due to 3 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "87d6bcb22d3cb8d01bfc679566dd264ae468b2fb64e13274ec94f54e75f3764b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87d6bcb22d3cb8d01bfc679566dd264ae468b2fb64e13274ec94f54e75f3764b", kill_on_drop: false }`
[INFO] [stdout] 87d6bcb22d3cb8d01bfc679566dd264ae468b2fb64e13274ec94f54e75f3764b
