[INFO] cloning repository https://github.com/power3xz/rust-in-action
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/power3xz/rust-in-action" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpower3xz%2Frust-in-action", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpower3xz%2Frust-in-action'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 409f37b437ad161cb1dc57f9410ca9123f97dcf6
[INFO] testing power3xz/rust-in-action against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpower3xz%2Frust-in-action" "/workspace/builds/worker-76/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-76/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/power3xz/rust-in-action on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/power3xz/rust-in-action
[INFO] finished tweaking git repo https://github.com/power3xz/rust-in-action
[INFO] tweaked toml for git repo https://github.com/power3xz/rust-in-action written to /workspace/builds/worker-76/source/Cargo.toml
[INFO] crate git repo https://github.com/power3xz/rust-in-action already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-76/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-76/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d78c24bd90a5b0aaf3edc69ebdbf624cff9191fae43deccbb1935d8c3d5668f
[INFO] running `Command { std: "docker" "start" "-a" "9d78c24bd90a5b0aaf3edc69ebdbf624cff9191fae43deccbb1935d8c3d5668f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d78c24bd90a5b0aaf3edc69ebdbf624cff9191fae43deccbb1935d8c3d5668f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d78c24bd90a5b0aaf3edc69ebdbf624cff9191fae43deccbb1935d8c3d5668f", kill_on_drop: false }`
[INFO] [stdout] 9d78c24bd90a5b0aaf3edc69ebdbf624cff9191fae43deccbb1935d8c3d5668f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-76/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-76/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b392e8eddc15e306489e768ce025ec97c07417d4596fd3276accedc667577632
[INFO] running `Command { std: "docker" "start" "-a" "b392e8eddc15e306489e768ce025ec97c07417d4596fd3276accedc667577632", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling l6-7 v0.1.0 (/opt/rustwide/workdir/l6-7)
[INFO] [stderr]    Compiling l5-7 v0.1.0 (/opt/rustwide/workdir/l5-7)
[INFO] [stderr]    Compiling l1-6 v0.1.0 (/opt/rustwide/workdir/l1-6)
[INFO] [stderr]    Compiling l4-7 v0.1.0 (/opt/rustwide/workdir/l4-7)
[INFO] [stderr]    Compiling l4-4 v0.1.0 (/opt/rustwide/workdir/l4-4)
[INFO] [stderr]    Compiling filebasics v0.1.0 (/opt/rustwide/workdir/filebasics)
[INFO] [stderr]    Compiling l3-6 v0.1.0 (/opt/rustwide/workdir/l3-6)
[INFO] [stderr]    Compiling l2-6 v0.1.0 (/opt/rustwide/workdir/l2-6)
[INFO] [stderr]    Compiling l1-7 v0.1.0 (/opt/rustwide/workdir/l1-7)
[INFO] [stderr]    Compiling l6-5 v0.1.0 (/opt/rustwide/workdir/l6-5)
[INFO] [stderr]    Compiling l4-16 v0.1.0 (/opt/rustwide/workdir/l4-16)
[INFO] [stderr]    Compiling l3-16 v0.1.0 (/opt/rustwide/workdir/l3-16)
[INFO] [stderr]    Compiling l2-21 v0.1.0 (/opt/rustwide/workdir/l2-21)
[INFO] [stderr]    Compiling l6-1 v0.1.0 (/opt/rustwide/workdir/l6-1)
[INFO] [stderr]    Compiling l3-24 v0.1.0 (/opt/rustwide/workdir/l3-24)
[INFO] [stderr]    Compiling l3-19 v0.1.0 (/opt/rustwide/workdir/l3-19)
[INFO] [stderr]    Compiling l1-2 v0.1.0 (/opt/rustwide/workdir/l1-2)
[INFO] [stderr]    Compiling l1-9 v0.1.0 (/opt/rustwide/workdir/l1-9)
[INFO] [stderr]    Compiling l3-22 v0.1.0 (/opt/rustwide/workdir/l3-22)
[INFO] [stderr]    Compiling l5-3 v0.1.0 (/opt/rustwide/workdir/l5-3)
[INFO] [stderr]    Compiling l4-24 v0.1.0 (/opt/rustwide/workdir/l4-24)
[INFO] [stderr]    Compiling l2-9 v0.1.0 (/opt/rustwide/workdir/l2-9)
[INFO] [stderr]    Compiling l2-3 v0.1.0 (/opt/rustwide/workdir/l2-3)
[INFO] [stderr]    Compiling l2-20 v0.1.0 (/opt/rustwide/workdir/l2-20)
[INFO] [stderr]    Compiling l2-5 v0.1.0 (/opt/rustwide/workdir/l2-5)
[INFO] [stderr]    Compiling l4-19 v0.1.0 (/opt/rustwide/workdir/l4-19)
[INFO] [stderr]    Compiling l4-1 v0.1.0 (/opt/rustwide/workdir/l4-1)
[INFO] [stderr]    Compiling l2-12 v0.1.0 (/opt/rustwide/workdir/l2-12)
[INFO] [stderr]    Compiling l1-1 v0.1.0 (/opt/rustwide/workdir/l1-1)
[INFO] [stderr]    Compiling l3-25 v0.1.0 (/opt/rustwide/workdir/l3-25)
[INFO] [stderr]    Compiling l2-11 v0.1.0 (/opt/rustwide/workdir/l2-11)
[INFO] [stderr]    Compiling l1-8 v0.1.0 (/opt/rustwide/workdir/l1-8)
[INFO] [stderr]    Compiling l2-17 v0.1.0 (/opt/rustwide/workdir/l2-17)
[INFO] [stderr]    Compiling l2-25 v0.1.0 (/opt/rustwide/workdir/l2-25)
[INFO] [stderr]    Compiling l5-2 v0.1.0 (/opt/rustwide/workdir/l5-2)
[INFO] [stderr]    Compiling l5-5 v0.1.0 (/opt/rustwide/workdir/l5-5)
[INFO] [stderr]    Compiling l6-6 v0.1.0 (/opt/rustwide/workdir/l6-6)
[INFO] [stderr]    Compiling l6-4 v0.1.0 (/opt/rustwide/workdir/l6-4)
[INFO] [stderr]    Compiling l5-6 v0.1.0 (/opt/rustwide/workdir/l5-6)
[INFO] [stderr]    Compiling l3-1 v0.1.0 (/opt/rustwide/workdir/l3-1)
[INFO] [stderr]    Compiling l4-9 v0.1.0 (/opt/rustwide/workdir/l4-9)
[INFO] [stderr]    Compiling l2-24 v0.1.0 (/opt/rustwide/workdir/l2-24)
[INFO] [stderr]    Compiling l3-9 v0.1.0 (/opt/rustwide/workdir/l3-9)
[INFO] [stderr]    Compiling l3-10 v0.1.0 (/opt/rustwide/workdir/l3-10)
[INFO] [stderr]    Compiling l2-10 v0.1.0 (/opt/rustwide/workdir/l2-10)
[INFO] [stderr]    Compiling chip-8 v0.1.0 (/opt/rustwide/workdir/chip-8)
[INFO] [stderr]    Compiling l2-4 v0.1.0 (/opt/rustwide/workdir/l2-4)
[INFO] [stderr]    Compiling l2-23 v0.1.0 (/opt/rustwide/workdir/l2-23)
[INFO] [stderr]    Compiling l1-5 v0.1.0 (/opt/rustwide/workdir/l1-5)
[INFO] [stderr]    Compiling l4-8 v0.1.0 (/opt/rustwide/workdir/l4-8)
[INFO] [stderr]    Compiling l2-34 v0.1.0 (/opt/rustwide/workdir/l2-34)
[INFO] [stderr]    Compiling l3-7 v0.1.0 (/opt/rustwide/workdir/l3-7)
[INFO] [stderr]    Compiling l2-22 v0.1.0 (/opt/rustwide/workdir/l2-22)
[INFO] [stderr]    Compiling l5-4 v0.1.0 (/opt/rustwide/workdir/l5-4)
[INFO] [stderr]    Compiling l5-9 v0.1.0 (/opt/rustwide/workdir/l5-9)
[INFO] [stderr]    Compiling l5-18 v0.1.0 (/opt/rustwide/workdir/l5-18)
[INFO] [stderr]    Compiling l3-17 v0.1.0 (/opt/rustwide/workdir/l3-17)
[INFO] [stderr]    Compiling l3-11 v0.1.0 (/opt/rustwide/workdir/l3-11)
[INFO] [stderr]    Compiling l5-14 v0.1.0 (/opt/rustwide/workdir/l5-14)
[INFO] [stderr]    Compiling l2-1 v0.1.0 (/opt/rustwide/workdir/l2-1)
[INFO] [stderr]    Compiling l2-13 v0.1.0 (/opt/rustwide/workdir/l2-13)
[INFO] [stderr]    Compiling l2-35 v0.1.0 (/opt/rustwide/workdir/l2-35)
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-bigint v0.4.0
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `data`, which is owned by the current function
[INFO] [stdout]  --> l1-6/src/main.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     thread::spawn(|| {
[INFO] [stdout]   |                   ^^ may outlive borrowed value `data`
[INFO] [stdout] 7 |         data = 500;
[INFO] [stdout]   |         ---- `data` is borrowed here
[INFO] [stdout]   |
[INFO] [stdout] note: function requires argument type to outlive `'static`
[INFO] [stdout]  --> l1-6/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | /     thread::spawn(|| {
[INFO] [stdout] 7 | |         data = 500;
[INFO] [stdout] 8 | |     });
[INFO] [stdout]   | |______^
[INFO] [stdout] help: to force the closure to take ownership of `data` (and any other referenced variables), use the `move` keyword
[INFO] [stdout]   |
[INFO] [stdout] 6 |     thread::spawn(move || {
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `l1-6` due to 5 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0499]: cannot borrow `data` as mutable more than once at a time
[INFO] [stdout]   --> l1-6/src/main.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout] 6  |       thread::spawn(|| {
[INFO] [stdout]    |       -             -- first mutable borrow occurs here
[INFO] [stdout]    |  _____|
[INFO] [stdout]    | |
[INFO] [stdout] 7  | |         data = 500;
[INFO] [stdout]    | |         ---- first borrow occurs due to use of `data` in closure
[INFO] [stdout] 8  | |     });
[INFO] [stdout]    | |______- argument requires that `data` is borrowed for `'static`
[INFO] [stdout] 9  |       thread::spawn(|| {
[INFO] [stdout]    |                     ^^ second mutable borrow occurs here
[INFO] [stdout] 10 |           data = 1000;
[INFO] [stdout]    |           ---- second borrow occurs due to use of `data` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `data`, which is owned by the current function
[INFO] [stdout]   --> l1-6/src/main.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout] 9  |     thread::spawn(|| {
[INFO] [stdout]    |                   ^^ may outlive borrowed value `data`
[INFO] [stdout] 10 |         data = 1000;
[INFO] [stdout]    |         ---- `data` is borrowed here
[INFO] [stdout]    |
[INFO] [stdout] note: function requires argument type to outlive `'static`
[INFO] [stdout]   --> l1-6/src/main.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | /     thread::spawn(|| {
[INFO] [stdout] 10 | |         data = 1000;
[INFO] [stdout] 11 | |     });
[INFO] [stdout]    | |______^
[INFO] [stdout] help: to force the closure to take ownership of `data` (and any other referenced variables), use the `move` keyword
[INFO] [stdout]    |
[INFO] [stdout] 9  |     thread::spawn(move || {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `data` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> l1-6/src/main.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 6  |       thread::spawn(|| {
[INFO] [stdout]    |       -             -- mutable borrow occurs here
[INFO] [stdout]    |  _____|
[INFO] [stdout]    | |
[INFO] [stdout] 7  | |         data = 500;
[INFO] [stdout]    | |         ---- first borrow occurs due to use of `data` in closure
[INFO] [stdout] 8  | |     });
[INFO] [stdout]    | |______- argument requires that `data` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 13 |       println!("{}", data);
[INFO] [stdout]    |                      ^^^^ immutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0373, E0499, E0502.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0373`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> l3-7/src/main.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     if host == ordinary_string {
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^ expected struct `Hostname`, found struct `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat_id`
[INFO] [stdout]   --> l4-4/src/main.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn check_status(sat_id: CubeSat) -> StatusMessage {
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sat_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `sat_a`
[INFO] [stdout]   --> l4-4/src/main.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let sat_a = CubeSat { id: 0 };
[INFO] [stdout]    |         ----- move occurs because `sat_a` has type `CubeSat`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     let a_status = check_status(sat_a);
[INFO] [stdout]    |                                 ----- value moved here
[INFO] [stdout] ...
[INFO] [stdout] 26 |     let a_status = check_status(sat_a);
[INFO] [stdout]    |                                 ^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `sat_b`
[INFO] [stdout]   --> l4-4/src/main.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let sat_b = CubeSat { id: 1 };
[INFO] [stdout]    |         ----- move occurs because `sat_b` has type `CubeSat`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     let b_status = check_status(sat_b);
[INFO] [stdout]    |                                 ----- value moved here
[INFO] [stdout] ...
[INFO] [stdout] 27 |     let b_status = check_status(sat_b);
[INFO] [stdout]    |                                 ^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `sat_c`
[INFO] [stdout]   --> l4-4/src/main.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let sat_c = CubeSat { id: 2 };
[INFO] [stdout]    |         ----- move occurs because `sat_c` has type `CubeSat`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |     let c_status = check_status(sat_c);
[INFO] [stdout]    |                                 ----- value moved here
[INFO] [stdout] ...
[INFO] [stdout] 28 |     let c_status = check_status(sat_c);
[INFO] [stdout]    |                                 ^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `grains`
[INFO] [stdout]   --> l1-5/src/main.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut grains: Vec<Cereal> = vec![];
[INFO] [stdout]    |         ---------- move occurs because `grains` has type `Vec<Cereal>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     drop(grains);
[INFO] [stdout]    |          ------ value moved here
[INFO] [stdout] 16 | 
[INFO] [stdout] 17 |     println!("{:?}", grains)
[INFO] [stdout]    |                      ^^^^^^ value borrowed here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Demo` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> l4-8/src/main.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     println!("{}", demo);
[INFO] [stdout]    |                    ^^^^ `Demo` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Demo`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `$crate::format_args_nl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `letters`
[INFO] [stdout]    --> l1-8/src/main.rs:6:9
[INFO] [stdout]     |
[INFO] [stdout] 2   |     let mut letters = vec!["a", "b", "b"];
[INFO] [stdout]     |         ----------- move occurs because `letters` has type `Vec<&str>`, which does not implement the `Copy` trait
[INFO] [stdout] 3   | 
[INFO] [stdout] 4   |     for letter in letters {
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `letters` moved due to this implicit call to `.into_iter()`
[INFO] [stdout]     |                   help: consider borrowing to avoid moving into the for loop: `&letters`
[INFO] [stdout] 5   |         println!("{}", letter);
[INFO] [stdout] 6   |         letters.push(letter.clone());
[INFO] [stdout]     |         ^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: this function takes ownership of the receiver `self`, which moves `letters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "b392e8eddc15e306489e768ce025ec97c07417d4596fd3276accedc667577632", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b392e8eddc15e306489e768ce025ec97c07417d4596fd3276accedc667577632", kill_on_drop: false }`
[INFO] [stdout] b392e8eddc15e306489e768ce025ec97c07417d4596fd3276accedc667577632
