[INFO] cloning repository https://github.com/wooddeep/learn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wooddeep/learn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwooddeep%2Flearn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwooddeep%2Flearn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9e74461180825811be863e0fd5564d8de076ea32
[INFO] checking wooddeep/learn against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwooddeep%2Flearn" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wooddeep/learn
[INFO] finished tweaking git repo https://github.com/wooddeep/learn
[INFO] tweaked toml for git repo https://github.com/wooddeep/learn written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wooddeep/learn on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wooddeep/learn 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 795bcbbadb4ad9ded9f3fb099f501ce07f5ab44b54fe50afe7a38a4738ef6a94
[INFO] running `Command { std: "docker" "start" "-a" "795bcbbadb4ad9ded9f3fb099f501ce07f5ab44b54fe50afe7a38a4738ef6a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "795bcbbadb4ad9ded9f3fb099f501ce07f5ab44b54fe50afe7a38a4738ef6a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "795bcbbadb4ad9ded9f3fb099f501ce07f5ab44b54fe50afe7a38a4738ef6a94", kill_on_drop: false }`
[INFO] [stdout] 795bcbbadb4ad9ded9f3fb099f501ce07f5ab44b54fe50afe7a38a4738ef6a94
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9c9e64ccf6e09b161c0897cad667a2649dc27a20cdb7bc50e42e026c71b5abd
[INFO] running `Command { std: "docker" "start" "-a" "c9c9e64ccf6e09b161c0897cad667a2649dc27a20cdb7bc50e42e026c71b5abd", kill_on_drop: false }`
[INFO] [stderr]     Checking learn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::Display`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::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: `std::path::Display`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::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: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut mutable_ptr: *mut u32 = &mut value;
[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: `c`
[INFO] [stdout]    --> src/main.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let c = CustomSmartPointer {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/main.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let d = CustomSmartPointer {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f1`
[INFO] [stdout]    --> src/main.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let f1 = File::open("hello.txt").unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_f1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f2`
[INFO] [stdout]    --> src/main.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |     let f2 = File::open("hello.txt").expect("not found!");
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_f2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/main.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 |         Ok(f) => println!("open ok!"),
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref1`
[INFO] [stdout]    --> src/main.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let ref1 = Rc::clone(&shared_number);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_ref1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref2`
[INFO] [stdout]    --> src/main.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |     let ref2 = Rc::clone(&shared_number);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_ref2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let mut data = Rc::new(RefCell::new(vec![1, 2, 3]));
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut ref1 = data.clone();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DemoTrait` is never used
[INFO] [stdout]   --> src/main.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | trait DemoTrait {
[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 `Foo` is never constructed
[INFO] [stdout]   --> src/main.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Foo {}
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitAsArg` is never used
[INFO] [stdout]   --> src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn testTraitAsArg(arg: &impl DemoTrait) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitGenericConstraints0` is never used
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn testTraitGenericConstraints0<T: DemoTrait>(arg: &T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitGenericConstraints1` is never used
[INFO] [stdout]   --> src/main.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn testTraitGenericConstraints1<T>(arg: &T)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitAsRet` is never used
[INFO] [stdout]   --> src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn testTraitAsRet() -> impl DemoTrait {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_trait` is never used
[INFO] [stdout]   --> src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn test_trait() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bar` is never constructed
[INFO] [stdout]   --> src/main.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct Bar<'a> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]   --> src/main.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl<'b> Bar<'b> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 65 |     fn show(&self) -> &str {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_struct_prop_life_time` is never used
[INFO] [stdout]   --> src/main.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn test_struct_prop_life_time() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SNode` is never constructed
[INFO] [stdout]   --> src/main.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct SNode<'a> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]   --> src/main.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl<'a> SNode<'a> {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 84 |     fn show(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_node_list` is never used
[INFO] [stdout]   --> src/main.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn test_node_list() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PointerWrapper` is never constructed
[INFO] [stdout]    --> src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct PointerWrapper {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get` are never used
[INFO] [stdout]    --> src/main.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl PointerWrapper {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 114 |     pub fn new(pointer: *mut u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get(&self) -> *mut u32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_raw_pointer` is never used
[INFO] [stdout]    --> src/main.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn test_raw_pointer() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pointer` is never constructed
[INFO] [stdout]    --> src/main.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | struct Pointer<T> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pointer` is never used
[INFO] [stdout]    --> src/main.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn test_pointer() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]    --> src/main.rs:198:6
[INFO] [stdout]     |
[INFO] [stdout] 198 | enum Action<F> {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_action` is never used
[INFO] [stdout]    --> src/main.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn test_action() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Alpha` is never constructed
[INFO] [stdout]    --> src/main.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | struct Alpha<T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inc` is never used
[INFO] [stdout]    --> src/main.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl Alpha<i32> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 227 |     fn inc(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_deref` is never used
[INFO] [stdout]    --> src/main.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn test_deref() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_err_unwarp` is never used
[INFO] [stdout]    --> src/main.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 275 | fn test_err_unwarp() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_err_expect` is never used
[INFO] [stdout]    --> src/main.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn test_err_expect() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `func0` is never used
[INFO] [stdout]    --> src/main.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn func0() -> Result<File, bool> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `func1` is never used
[INFO] [stdout]    --> src/main.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn func1() -> Result<File, bool> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_err_pass` is never used
[INFO] [stdout]    --> src/main.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn test_err_pass() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rc` is never used
[INFO] [stdout]    --> src/main.rs:313:4
[INFO] [stdout]     |
[INFO] [stdout] 313 | fn test_rc() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ref_cell` is never used
[INFO] [stdout]    --> src/main.rs:323:4
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn test_ref_cell() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rc_ref_cell` is never used
[INFO] [stdout]    --> src/main.rs:342:4
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn test_rc_ref_cell() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_thread_arc` is never used
[INFO] [stdout]    --> src/main.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn test_thread_arc() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `List` is never used
[INFO] [stdout]    --> src/main.rs:388:6
[INFO] [stdout]     |
[INFO] [stdout] 388 | enum List {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tail` is never used
[INFO] [stdout]    --> src/main.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 393 | impl List {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 394 |     fn tail(&self) -> Option<&RefCell<Rc<List>>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cycle_ref` is never used
[INFO] [stdout]    --> src/main.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn test_cycle_ref() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]    --> src/main.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct Node {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next` is never used
[INFO] [stdout]    --> src/main.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 431 |     fn next(&self) -> Option<&Rc<RefCell<Node>>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut mutable_ptr: *mut u32 = &mut value;
[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: function `test_cycle_ref_1` is never used
[INFO] [stdout]    --> src/main.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn test_cycle_ref_1() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_weak_ref` is never used
[INFO] [stdout]    --> src/main.rs:452:4
[INFO] [stdout]     |
[INFO] [stdout] 452 | fn test_weak_ref() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_arc` is never used
[INFO] [stdout]    --> src/main.rs:464:4
[INFO] [stdout]     |
[INFO] [stdout] 464 | fn test_arc() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitAsArg` should have a snake case name
[INFO] [stdout]   --> src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn testTraitAsArg(arg: &impl DemoTrait) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_as_arg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitGenericConstraints0` should have a snake case name
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn testTraitGenericConstraints0<T: DemoTrait>(arg: &T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_generic_constraints0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitGenericConstraints1` should have a snake case name
[INFO] [stdout]   --> src/main.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn testTraitGenericConstraints1<T>(arg: &T)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_generic_constraints1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitAsRet` should have a snake case name
[INFO] [stdout]   --> src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn testTraitAsRet() -> impl DemoTrait {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_as_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/main.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let c = CustomSmartPointer {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/main.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let d = CustomSmartPointer {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f1`
[INFO] [stdout]    --> src/main.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let f1 = File::open("hello.txt").unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_f1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f2`
[INFO] [stdout]    --> src/main.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |     let f2 = File::open("hello.txt").expect("not found!");
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_f2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/main.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 |         Ok(f) => println!("open ok!"),
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref1`
[INFO] [stdout]    --> src/main.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let ref1 = Rc::clone(&shared_number);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_ref1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref2`
[INFO] [stdout]    --> src/main.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |     let ref2 = Rc::clone(&shared_number);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_ref2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let mut data = Rc::new(RefCell::new(vec![1, 2, 3]));
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut ref1 = data.clone();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PointerWrapper` is never constructed
[INFO] [stdout]    --> src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct PointerWrapper {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get` are never used
[INFO] [stdout]    --> src/main.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl PointerWrapper {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 114 |     pub fn new(pointer: *mut u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get(&self) -> *mut u32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_raw_pointer` is never used
[INFO] [stdout]    --> src/main.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn test_raw_pointer() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sleep`, `Run`, and `Walk` are never constructed
[INFO] [stdout]    --> src/main.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | enum Action<F> {
[INFO] [stdout]     |      ------ variants in this enum
[INFO] [stdout] 199 |     Sleep,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 200 |     Run,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 201 |     Walk,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inc` is never used
[INFO] [stdout]    --> src/main.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl Alpha<i32> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 227 |     fn inc(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_err_expect` is never used
[INFO] [stdout]    --> src/main.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn test_err_expect() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     bar.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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let _ = bar.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     foo.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] 151 |     let _ = foo.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:389:10
[INFO] [stdout]     |
[INFO] [stdout] 389 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 389 -     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 389 +     Cons((), RefCell<Rc<List>>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/main.rs:426:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct Node {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 426 |     data: i32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Node` 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 `next` is never used
[INFO] [stdout]    --> src/main.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 431 |     fn next(&self) -> Option<&Rc<RefCell<Node>>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     job1.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] 379 |     let _ = job1.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 380 |     job0.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] 380 |     let _ = job0.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitAsArg` should have a snake case name
[INFO] [stdout]   --> src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn testTraitAsArg(arg: &impl DemoTrait) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_as_arg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitGenericConstraints0` should have a snake case name
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn testTraitGenericConstraints0<T: DemoTrait>(arg: &T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_generic_constraints0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitGenericConstraints1` should have a snake case name
[INFO] [stdout]   --> src/main.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn testTraitGenericConstraints1<T>(arg: &T)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_generic_constraints1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testTraitAsRet` should have a snake case name
[INFO] [stdout]   --> src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn testTraitAsRet() -> impl DemoTrait {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_trait_as_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     bar.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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let _ = bar.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     foo.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] 151 |     let _ = foo.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     job1.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] 379 |     let _ = job1.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 380 |     job0.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] 380 |     let _ = job0.join();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] running `Command { std: "docker" "inspect" "c9c9e64ccf6e09b161c0897cad667a2649dc27a20cdb7bc50e42e026c71b5abd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9c9e64ccf6e09b161c0897cad667a2649dc27a20cdb7bc50e42e026c71b5abd", kill_on_drop: false }`
[INFO] [stdout] c9c9e64ccf6e09b161c0897cad667a2649dc27a20cdb7bc50e42e026c71b5abd
