[INFO] cloning repository https://github.com/Angluca/rustlings-zh-cn-rustacean
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Angluca/rustlings-zh-cn-rustacean" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngluca%2Frustlings-zh-cn-rustacean", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngluca%2Frustlings-zh-cn-rustacean'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1c54521d680fd22ac5ad8adb2a89c938c0bc7b88
[INFO] checking Angluca/rustlings-zh-cn-rustacean against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngluca%2Frustlings-zh-cn-rustacean" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Angluca/rustlings-zh-cn-rustacean
[INFO] finished tweaking git repo https://github.com/Angluca/rustlings-zh-cn-rustacean
[INFO] tweaked toml for git repo https://github.com/Angluca/rustlings-zh-cn-rustacean written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Angluca/rustlings-zh-cn-rustacean on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Angluca/rustlings-zh-cn-rustacean 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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc8a7a95627feafd0f6a1ee0a8577c80385e0b61eb6cfb276e47c4c1ca86a0bb
[INFO] running `Command { std: "docker" "start" "-a" "fc8a7a95627feafd0f6a1ee0a8577c80385e0b61eb6cfb276e47c4c1ca86a0bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc8a7a95627feafd0f6a1ee0a8577c80385e0b61eb6cfb276e47c4c1ca86a0bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc8a7a95627feafd0f6a1ee0a8577c80385e0b61eb6cfb276e47c4c1ca86a0bb", kill_on_drop: false }`
[INFO] [stdout] fc8a7a95627feafd0f6a1ee0a8577c80385e0b61eb6cfb276e47c4c1ca86a0bb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7014de31751943d17c33c7d0e68918cca741fa77f627f3ff623c637024e3488b
[INFO] running `Command { std: "docker" "start" "-a" "7014de31751943d17c33c7d0e68918cca741fa77f627f3ff623c637024e3488b", kill_on_drop: false }`
[INFO] [stderr]     Checking exercises v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `Licensed` is never used
[INFO] [stdout]  --> solutions/15_traits/traits3.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait Licensed {
[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 `SomeSoftware` is never constructed
[INFO] [stdout]  --> solutions/15_traits/traits3.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct SomeSoftware {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OtherSoftware` is never constructed
[INFO] [stdout]   --> solutions/15_traits/traits3.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct OtherSoftware {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]  --> exercises/22_clippy/clippy2.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     for x in option {
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]   |
[INFO] [stdout] 5 -     for x in option {
[INFO] [stdout] 5 +     while let Some(x) = option {
[INFO] [stdout]   |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]   |
[INFO] [stdout] 5 -     for x in option {
[INFO] [stdout] 5 +     if let Some(x) = option {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> exercises/13_error_handling/errors3.rs:21:46
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn main() {
[INFO] [stdout]    | --------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 21 |     let cost = total_cost(pretend_user_input)?;
[INFO] [stdout]    |                                              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |           +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_of_2` is never used
[INFO] [stdout]  --> solutions/17_tests/tests2.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn power_of_2(n: u8) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_price_of_apples` is never used
[INFO] [stdout]  --> solutions/quizzes/quiz1.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn calculate_price_of_apples(n_apples: u64) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `tx`
[INFO] [stdout]   --> exercises/20_threads/threads3.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn send_tx(q: Queue, tx: mpsc::Sender<u32>) {
[INFO] [stdout]    |                      -- move occurs because `tx` has type `std::sync::mpsc::Sender<u32>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     thread::spawn(move || {
[INFO] [stdout]    |                   ------- value moved into closure here
[INFO] [stdout] 21 |         for val in q.first_half {
[INFO] [stdout]    |         ----------------------- inside of this loop
[INFO] [stdout] 22 |             println!("Sending {val:?}");
[INFO] [stdout] 23 |             tx.send(val).unwrap();
[INFO] [stdout]    |             -- variable moved due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 28 |     thread::spawn(move || {
[INFO] [stdout]    |                   ^^^^^^^ value used here after move
[INFO] [stdout] ...
[INFO] [stdout] 31 |             tx.send(val).unwrap();
[INFO] [stdout]    |             -- use occurs due to use in closure
[INFO] [stdout]    |
[INFO] [stdout] help: consider cloning the value before moving it into the closure
[INFO] [stdout]    |
[INFO] [stdout] 20 ~     let value = tx.clone();
[INFO] [stdout] 21 ~     thread::spawn(move || {
[INFO] [stdout] 22 |         for val in q.first_half {
[INFO] [stdout] 23 |             println!("Sending {val:?}");
[INFO] [stdout] 24 ~             value.send(val).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "errors3" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0425]: cannot find value `x` in this scope
[INFO] [stdout]  --> exercises/01_variables/variables1.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     x = 5;
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout] help: you might have meant to introduce a new binding
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let x = 5;
[INFO] [stdout]   |     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `x` in this scope
[INFO] [stdout]  --> exercises/01_variables/variables1.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 |     println!("x has the value {x}");
[INFO] [stdout]   |                                ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "threads3") due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "variables1" test) due to 2 previous errors
[INFO] [stdout] error[E0425]: cannot find value `nice_slice` in this scope
[INFO] [stdout]   --> exercises/04_primitive_types/primitive_types4.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |         assert_eq!([2, 3, 4], nice_slice);
[INFO] [stdout]    |                               ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "primitive_types4" test) due to 1 previous error
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     placeholder("blue");
[INFO] [stdout]    |     ^^^^^^^^^^^ ------ unexpected argument of type `&'static str`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 16 -     placeholder("blue");
[INFO] [stdout] 16 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     placeholder("red".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^ ----------------- unexpected argument of type `String`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 18 -     placeholder("red".to_string());
[INFO] [stdout] 18 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     placeholder(String::from("hi"));
[INFO] [stdout]    |     ^^^^^^^^^^^ ------------------ unexpected argument of type `String`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 20 -     placeholder(String::from("hi"));
[INFO] [stdout] 20 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     placeholder("rust is fun!".to_owned());
[INFO] [stdout]    |     ^^^^^^^^^^^ ------------------------- unexpected argument of type `String`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 22 -     placeholder("rust is fun!".to_owned());
[INFO] [stdout] 22 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     placeholder("nice weather".into());
[INFO] [stdout]    |     ^^^^^^^^^^^ --------------------- unexpected argument
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 24 -     placeholder("nice weather".into());
[INFO] [stdout] 24 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     placeholder(format!("Interpolation {}", "Station"));
[INFO] [stdout]    |     ^^^^^^^^^^^ -------------------------------------- unexpected argument of type `String`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 26 -     placeholder(format!("Interpolation {}", "Station"));
[INFO] [stdout] 26 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     placeholder(&String::from("abc")[0..1]);
[INFO] [stdout]    |     ^^^^^^^^^^^ -------------------------- unexpected argument of type `&str`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 30 -     placeholder(&String::from("abc")[0..1]);
[INFO] [stdout] 30 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     placeholder("  hello there ".trim());
[INFO] [stdout]    |     ^^^^^^^^^^^ ----------------------- unexpected argument of type `&str`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 32 -     placeholder("  hello there ".trim());
[INFO] [stdout] 32 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     placeholder("Happy Monday!".replace("Mon", "Tues"));
[INFO] [stdout]    |     ^^^^^^^^^^^ -------------------------------------- unexpected argument of type `String`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 34 -     placeholder("Happy Monday!".replace("Mon", "Tues"));
[INFO] [stdout] 34 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     placeholder("mY sHiFt KeY iS sTiCkY".to_lowercase());
[INFO] [stdout]    |     ^^^^^^^^^^^ --------------------------------------- unexpected argument of type `String`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> exercises/09_strings/strings4.rs:2:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn placeholder() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 36 -     placeholder("mY sHiFt KeY iS sTiCkY".to_lowercase());
[INFO] [stdout] 36 +     placeholder();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "strings4" test) due to 10 previous errors
[INFO] [stdout] warning: function `byte_counter` is never used
[INFO] [stdout]  --> solutions/23_conversions/as_ref_mut.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn byte_counter<T: AsRef<str>>(arg: T) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `char_counter` is never used
[INFO] [stdout]   --> solutions/23_conversions/as_ref_mut.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn char_counter<T: AsRef<str>>(arg: T) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_sq` is never used
[INFO] [stdout]   --> solutions/23_conversions/as_ref_mut.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn num_sq<T: AsMut<u32>>(arg: &mut T) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `append_bar`
[INFO] [stdout]  --> exercises/15_traits/traits1.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn append_bar(self) -> Self;
[INFO] [stdout]   |     ---------------------------- `append_bar` from trait
[INFO] [stdout] ...
[INFO] [stdout] 6 | impl AppendBar for String {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `append_bar` in implementation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "traits1" test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "7014de31751943d17c33c7d0e68918cca741fa77f627f3ff623c637024e3488b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7014de31751943d17c33c7d0e68918cca741fa77f627f3ff623c637024e3488b", kill_on_drop: false }`
[INFO] [stdout] 7014de31751943d17c33c7d0e68918cca741fa77f627f3ff623c637024e3488b
