[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 master#f2c70877a7dbc51cd98e2d5d25209b24d4a586d5 for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngluca%2Frustlings-zh-cn-rustacean" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Angluca/rustlings-zh-cn-rustacean on toolchain f2c70877a7dbc51cd98e2d5d25209b24d4a586d5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "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" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d7218c2c17a27ee775c2f642cdf880905041300b8b0ecc0e848148736b930e3e
[INFO] running `Command { std: "docker" "start" "-a" "d7218c2c17a27ee775c2f642cdf880905041300b8b0ecc0e848148736b930e3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d7218c2c17a27ee775c2f642cdf880905041300b8b0ecc0e848148736b930e3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7218c2c17a27ee775c2f642cdf880905041300b8b0ecc0e848148736b930e3e", kill_on_drop: false }`
[INFO] [stdout] d7218c2c17a27ee775c2f642cdf880905041300b8b0ecc0e848148736b930e3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1651247d09673e62a9fc93c6c9f1d76074cf13bf8a1fc5b5b480a2b40881eb7b
[INFO] running `Command { std: "docker" "start" "-a" "1651247d09673e62a9fc93c6c9f1d76074cf13bf8a1fc5b5b480a2b40881eb7b", kill_on_drop: false }`
[INFO] [stderr]     Checking exercises v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `abs_all` is never used
[INFO] [stdout]  --> exercises/19_smart_pointers/cow1.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn abs_all(input: &mut Cow<[i32]>) {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> exercises/06_move_semantics/move_semantics5.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn string_uppercase(mut data: &String) {
[INFO] [stdout]    |                               ------- expected due to this parameter type
[INFO] [stdout] 13 |     data = data.to_uppercase();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ expected `&String`, found `String`
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to mutate the pointed at value being passed in, instead of changing the reference in the local binding
[INFO] [stdout]    |
[INFO] [stdout] 12 ~ fn string_uppercase(data: &mut String) {
[INFO] [stdout] 13 ~     *data = data.to_uppercase();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `data`
[INFO] [stdout]   --> exercises/06_move_semantics/move_semantics5.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let data = "Rust真不错!".to_string();
[INFO] [stdout]    |         ---- move occurs because `data` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout] 20 |
[INFO] [stdout] 21 |     get_char(data);
[INFO] [stdout]    |              ---- value moved here
[INFO] [stdout] 22 |
[INFO] [stdout] 23 |     string_uppercase(&data);
[INFO] [stdout]    |                      ^^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] note: consider changing this parameter type in function `get_char` to borrow instead if owning the value isn't necessary
[INFO] [stdout]   --> exercises/06_move_semantics/move_semantics5.rs:7:19
[INFO] [stdout]    |
[INFO] [stdout]  7 | fn get_char(data: String) -> char {
[INFO] [stdout]    |    --------       ^^^^^^ this parameter takes ownership of the value
[INFO] [stdout]    |    |
[INFO] [stdout]    |    in this function
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 21 |     get_char(data.clone());
[INFO] [stdout]    |                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0382.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ref` found for type parameter `T` in the current scope
[INFO] [stdout]   --> exercises/23_conversions/as_ref_mut.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn byte_counter<T>(arg: T) -> usize {
[INFO] [stdout]    |                 - method `as_ref` not found for this type parameter
[INFO] [stdout] 10 |     arg.as_ref().len()
[INFO] [stdout]    |         ^^^^^^ method not found in `T`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `as_ref`, perhaps you need to restrict type parameter `T` with it:
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn byte_counter<T: AsRef</* T */>>(arg: T) -> usize {
[INFO] [stdout]    |                  ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ref` found for type parameter `T` in the current scope
[INFO] [stdout]   --> exercises/23_conversions/as_ref_mut.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn char_counter<T>(arg: T) -> usize {
[INFO] [stdout]    |                 - method `as_ref` not found for this type parameter
[INFO] [stdout] 16 |     arg.as_ref().chars().count()
[INFO] [stdout]    |         ^^^^^^ method not found in `T`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `as_ref`, perhaps you need to restrict type parameter `T` with it:
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn char_counter<T: AsRef</* T */>>(arg: T) -> usize {
[INFO] [stdout]    |                  ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg`
[INFO] [stdout]   --> exercises/23_conversions/as_ref_mut.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn num_sq<T>(arg: &mut T) {
[INFO] [stdout]    |              ^^^ help: if this is intentional, prefix it with an underscore: `_arg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "move_semantics5") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings3.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn trim_me(input: &str) -> &str {
[INFO] [stdout]   |    -------                 ^^^^ expected `&str`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]   |
[INFO] [stdout] help: consider returning the local binding `input`
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn trim_me(input: &str) -> &str {
[INFO] [stdout] 2 ~     input
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings3.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn compose_me(input: &str) -> String {
[INFO] [stdout]   |    ----------                 ^^^^^^ expected `String`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings3.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn replace_me(input: &str) -> String {
[INFO] [stdout]   |    ----------                 ^^^^^^ expected `String`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "as_ref_mut") due to 2 previous errors; 1 warning emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/03_if/if1.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn bigger(a: i32, b: i32) -> i32 {
[INFO] [stdout]   |    ------                    ^^^ expected `i32`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]   |
[INFO] [stdout] note: consider returning one of these bindings
[INFO] [stdout]  --> exercises/03_if/if1.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn bigger(a: i32, b: i32) -> i32 {
[INFO] [stdout]   |           ^       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `vec` as mutable, as it is not declared as mutable
[INFO] [stdout]  --> exercises/06_move_semantics/move_semantics1.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     vec.push(88);
[INFO] [stdout]   |     ^^^ cannot borrow as mutable
[INFO] [stdout]   |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let mut vec = vec;
[INFO] [stdout]   |         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0596`.
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_and_vec` is never used
[INFO] [stdout]  --> solutions/05_vecs/vecs1.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn array_and_vec() -> ([i32; 4], Vec<i32>) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "move_semantics1") due to 1 previous error
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps3.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut scores = HashMap::<&str, TeamScores>::new();
[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: `team_1_name`
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps3.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let team_1_name = split_iterator.next().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_team_1_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team_2_name`
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps3.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let team_2_name = split_iterator.next().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_team_2_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team_1_score`
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps3.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let team_1_score: u8 = split_iterator.next().unwrap().parse().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_team_1_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team_2_score`
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps3.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let team_2_score: u8 = split_iterator.next().unwrap().parse().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_team_2_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "strings3" test) due to 3 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Resize` found for enum `Message` in the current scope
[INFO] [stdout]  --> exercises/08_enums/enums1.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Message {
[INFO] [stdout]   | ------------ variant or associated item `Resize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     println!("{:?}", Message::Resize);
[INFO] [stdout]   |                               ^^^^^^ variant or associated item not found in `Message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "if1" test) due to 1 previous error
[INFO] [stdout] error[E0599]: no variant or associated item named `Move` found for enum `Message` in the current scope
[INFO] [stdout]  --> exercises/08_enums/enums1.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Message {
[INFO] [stdout]   | ------------ variant or associated item `Move` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     println!("{:?}", Message::Move);
[INFO] [stdout]   |                               ^^^^ variant or associated item not found in `Message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Echo` found for enum `Message` in the current scope
[INFO] [stdout]  --> exercises/08_enums/enums1.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Message {
[INFO] [stdout]   | ------------ variant or associated item `Echo` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 9 |     println!("{:?}", Message::Echo);
[INFO] [stdout]   |                               ^^^^ variant or associated item not found in `Message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `ChangeColor` found for enum `Message` in the current scope
[INFO] [stdout]   --> exercises/08_enums/enums1.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout]  2 | enum Message {
[INFO] [stdout]    | ------------ variant or associated item `ChangeColor` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     println!("{:?}", Message::ChangeColor);
[INFO] [stdout]    |                               ^^^^^^^^^^^ variant or associated item not found in `Message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Quit` found for enum `Message` in the current scope
[INFO] [stdout]   --> exercises/08_enums/enums1.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout]  2 | enum Message {
[INFO] [stdout]    | ------------ variant or associated item `Quit` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     println!("{:?}", Message::Quit);
[INFO] [stdout]    |                               ^^^^ variant or associated item not found in `Message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> exercises/23_conversions/from_into.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn from(s: &str) -> Self {}
[INFO] [stdout]    |        ----             ^^^^ expected `Person`, found `()`
[INFO] [stdout]    |        |
[INFO] [stdout]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "enums1" test) due to 5 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings1.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn current_favorite_color() -> String {
[INFO] [stdout]   |                                ------ expected `String` because of return type
[INFO] [stdout] 3 |     "blue"
[INFO] [stdout]   |     ^^^^^^ expected `String`, found `&str`
[INFO] [stdout]   |
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]   |
[INFO] [stdout] 3 |     "blue".to_string()
[INFO] [stdout]   |           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> exercises/13_error_handling/errors1.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Ok("Hi! My name is Beyoncé"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<&str>`, found `Result<&str, _>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Option<&str>`
[INFO] [stdout]               found enum `Result<&str, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "from_into") due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "strings1") due to 1 previous error
[INFO] [stdout] error[E0599]: no method named `map_err` found for enum `Option<T>` in the current scope
[INFO] [stdout]   --> exercises/13_error_handling/errors1.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | /             generate_nametag_text(String::new())
[INFO] [stdout] 35 | |                 .as_ref()
[INFO] [stdout] 36 | |                 .map_err(|e| e.as_str()),
[INFO] [stdout]    | |_________________-^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `map_or` with a similar name, but with different arguments
[INFO] [stdout]   --> library/core/src/option.rs:1224:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> exercises/13_error_handling/errors1.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .map_err(|e| e.as_str()),
[INFO] [stdout]    |                           ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .map_err(|e: /* Type */| e.as_str()),
[INFO] [stdout]    |                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "errors1" test) due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "1651247d09673e62a9fc93c6c9f1d76074cf13bf8a1fc5b5b480a2b40881eb7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1651247d09673e62a9fc93c6c9f1d76074cf13bf8a1fc5b5b480a2b40881eb7b", kill_on_drop: false }`
[INFO] [stdout] 1651247d09673e62a9fc93c6c9f1d76074cf13bf8a1fc5b5b480a2b40881eb7b
