[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 master#292be5c7c05138d753bbd4b30db7a3f1a5c914f7 for pr-148271
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBruceChar%2FLearnRustByExample" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/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-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BruceChar/LearnRustByExample on toolchain 292be5c7c05138d753bbd4b30db7a3f1a5c914f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "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" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 57ba0a7905fe5308b5cccebe85cfcee7db5faab4f0a82c7c4d5f7d8a047953c8
[INFO] running `Command { std: "docker" "start" "-a" "57ba0a7905fe5308b5cccebe85cfcee7db5faab4f0a82c7c4d5f7d8a047953c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "57ba0a7905fe5308b5cccebe85cfcee7db5faab4f0a82c7c4d5f7d8a047953c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57ba0a7905fe5308b5cccebe85cfcee7db5faab4f0a82c7c4d5f7d8a047953c8", kill_on_drop: false }`
[INFO] [stdout] 57ba0a7905fe5308b5cccebe85cfcee7db5faab4f0a82c7c4d5f7d8a047953c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 83df8f3138ef4718de8072cee01b5a36386cde8dee713b1b7fcd52ba491bfa39
[INFO] running `Command { std: "docker" "start" "-a" "83df8f3138ef4718de8072cee01b5a36386cde8dee713b1b7fcd52ba491bfa39", 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] [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: `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: `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 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: 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: variable does not need to be mutable
[INFO] [stdout]  --> examples/demo.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     let mut m = 9;
[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: unused variable: `iter`
[INFO] [stdout]  --> examples/demo.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let iter = [1,2,3].iter();
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m1` is never read
[INFO] [stdout]  --> examples/demo.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let mut m1 = m;
[INFO] [stdout]   |                  ^
[INFO] [stdout]   |
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout]   = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[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] error[E0277]: cannot add a float to an integer
[INFO] [stdout]   --> examples/recursive_type.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 |     println!("{:?} {:?}", e, c+d);
[INFO] [stdout]    |                               ^ no implementation for `{integer} + {float}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Add<{float}>` is not implemented for `{integer}`
[INFO] [stdout]    = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]              `&f128` implements `Add<f128>`
[INFO] [stdout]              `&f128` implements `Add`
[INFO] [stdout]              `&f16` implements `Add<f16>`
[INFO] [stdout]              `&f16` implements `Add`
[INFO] [stdout]              `&f32` implements `Add<f32>`
[INFO] [stdout]              `&f32` implements `Add`
[INFO] [stdout]              `&f64` implements `Add<f64>`
[INFO] [stdout]              `&f64` implements `Add`
[INFO] [stdout]            and 56 others
[INFO] [stdout] note: required for `Cup<{integer}>` to implement `Add<Cup<{float}>>`
[INFO] [stdout]   --> examples/recursive_type.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl <A,B> Add<Cup<B>> for Cup<A>
[INFO] [stdout]    |            ^^^^^^^^^^^     ^^^^^^
[INFO] [stdout] 20 | where A: Add<B>
[INFO] [stdout]    |          ------ unsatisfied trait bound introduced here
[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] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[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] [stderr] error: could not compile `RustByExamples` (example "recursive_type") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused label
[INFO] [stdout]  --> examples/loop.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         'inner: loop {
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `function` is never used
[INFO] [stdout]   --> examples/mod.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn function() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `next` in this scope
[INFO] [stdout]   --> examples/box.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     next: &'a Node<'a>,
[INFO] [stdout]    |     ---- a field by that name exists in `Self`
[INFO] [stdout] ...
[INFO] [stdout] 48 |             next
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]  --> examples/loop.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |     v.iter().map(|x| x).collect();
[INFO] [stdout]   |                         ^^^^^^^ cannot infer type of the type parameter `B` declared on the method `collect`
[INFO] [stdout]   |
[INFO] [stdout]   = note: cannot satisfy `_: FromIterator<&i32>`
[INFO] [stdout] note: required by a bound in `collect`
[INFO] [stdout]  --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/core/src/iter/traits/iterator.rs:2015:5
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]   |
[INFO] [stdout] 4 |     v.iter().map(|x| x).collect::<Vec<_>>();
[INFO] [stdout]   |                                ++++++++++
[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] For more information about this error, try `rustc --explain E0283`.
[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] 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] [stderr] error: could not compile `RustByExamples` (example "loop") due to 1 previous error; 1 warning emitted
[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: unused variable: `putline`
[INFO] [stdout]   --> examples/box.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let putline = || print!("\n");
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_putline`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> examples/box.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let n = Node::new();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[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: 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: unused imports: `Receiver` and `Sender`
[INFO] [stdout]  --> examples/channel.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Sender,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 4 |     Receiver
[INFO] [stdout]   |     ^^^^^^^^
[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: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] For more information about this error, try `rustc --explain E0425`.
[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: 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] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `io`
[INFO] [stdout]   --> examples/channel.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     io::spawn();
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     use of unresolved module or unlinked crate `io`
[INFO] [stdout]    |     help: a builtin type with a similar name exists: `i8`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `io`, use `cargo add io` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustByExamples` (example "smart_point") due to 3 previous errors; 3 warnings emitted
[INFO] [stderr] error: could not compile `RustByExamples` (example "box") due to 1 previous error; 2 warnings emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/inter_mutability.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let b = Cons(RefCell::new(4), Rc::clone(&a));
[INFO] [stdout]    |                                   --------- ^^ expected `&Rc<List>`, found `&List`
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Rc<List>`
[INFO] [stdout]               found reference `&List`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/core/src/clone.rs:236:8
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/inter_mutability.rs:19:45
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let c = Cons(RefCell::new(3), Rc::clone(&a));
[INFO] [stdout]    |                                   --------- ^^ expected `&Rc<List>`, found `&List`
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Rc<List>`
[INFO] [stdout]               found reference `&List`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/core/src/clone.rs:236:8
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0615]: attempted to take value of method `borrow_mut` on type `RefCell<i32>`
[INFO] [stdout]   --> examples/inter_mutability.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |             *v.borrow_mut += 5;
[INFO] [stdout]    |                ^^^^^^^^^^ method, not a field
[INFO] [stdout]    |
[INFO] [stdout]    = help: methods are immutable and cannot be assigned to
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0615.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustByExamples` (example "inter_mutability") due to 3 previous errors
[INFO] [stderr] error: could not compile `RustByExamples` (example "channel") due to 1 previous error; 1 warning emitted
[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] [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: 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] running `Command { std: "docker" "inspect" "83df8f3138ef4718de8072cee01b5a36386cde8dee713b1b7fcd52ba491bfa39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83df8f3138ef4718de8072cee01b5a36386cde8dee713b1b7fcd52ba491bfa39", kill_on_drop: false }`
[INFO] [stdout] 83df8f3138ef4718de8072cee01b5a36386cde8dee713b1b7fcd52ba491bfa39
