[INFO] cloning repository https://github.com/mreboland/rustOwnershipMoves
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mreboland/rustOwnershipMoves" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmreboland%2FrustOwnershipMoves", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmreboland%2FrustOwnershipMoves'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c8a3d6c7a973347f046d7b34207b1c07625269f5
[INFO] checking mreboland/rustOwnershipMoves against try#c8085cfed34c45021fc8f66d073f6394b3e35431 for pr-148939
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmreboland%2FrustOwnershipMoves" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mreboland/rustOwnershipMoves
[INFO] finished tweaking git repo https://github.com/mreboland/rustOwnershipMoves
[INFO] tweaked toml for git repo https://github.com/mreboland/rustOwnershipMoves written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mreboland/rustOwnershipMoves on toolchain c8085cfed34c45021fc8f66d073f6394b3e35431
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mreboland/rustOwnershipMoves 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" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6224070d2e5b79c0aec68dc5a1c002921c215b1e1c35fd3ce13e41eb71af6b15
[INFO] running `Command { std: "docker" "start" "-a" "6224070d2e5b79c0aec68dc5a1c002921c215b1e1c35fd3ce13e41eb71af6b15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6224070d2e5b79c0aec68dc5a1c002921c215b1e1c35fd3ce13e41eb71af6b15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6224070d2e5b79c0aec68dc5a1c002921c215b1e1c35fd3ce13e41eb71af6b15", kill_on_drop: false }`
[INFO] [stdout] 6224070d2e5b79c0aec68dc5a1c002921c215b1e1c35fd3ce13e41eb71af6b15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fbe3a9b6ca9e368bd77cd89bba4890226427b2eb9aded142676b00bb8b87e785
[INFO] running `Command { std: "docker" "start" "-a" "fbe3a9b6ca9e368bd77cd89bba4890226427b2eb9aded142676b00bb8b87e785", kill_on_drop: false }`
[INFO] [stderr]     Checking ownership-moves v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found keyword `let`
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     h(x) // bad: x is uninitialized here if either path uses it
[INFO] [stdout]    |         ^ help: add `;` here
[INFO] [stdout] ...
[INFO] [stdout] 83 |     let x = vec![10, 20, 30];
[INFO] [stdout]    |     --- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `let`
[INFO] [stdout]    --> src/main.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |     assert_eq!(second, "102")
[INFO] [stdout]     |                              ^ help: add `;` here
[INFO] [stdout] ...
[INFO] [stdout] 136 |     let third = std::mem::replace(&mut v[2], "substitute".to_string());
[INFO] [stdout]     |     --- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `let`
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     h(x) // bad: x is uninitialized here if either path uses it
[INFO] [stdout]    |         ^ help: add `;` here
[INFO] [stdout] ...
[INFO] [stdout] 83 |     let x = vec![10, 20, 30];
[INFO] [stdout]    |     --- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `let`
[INFO] [stdout]    --> src/main.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |     assert_eq!(second, "102")
[INFO] [stdout]     |                              ^ help: add `;` here
[INFO] [stdout] ...
[INFO] [stdout] 136 |     let third = std::mem::replace(&mut v[2], "substitute".to_string());
[INFO] [stdout]     |     --- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Person` is defined multiple times
[INFO] [stdout]    --> src/main.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout]  55 |     struct Person { name: String, birth: i32 }
[INFO] [stdout]     |     ------------- previous definition of the type `Person` here
[INFO] [stdout] ...
[INFO] [stdout] 157 |     struct Person { name: Option<String>, birth: i32 }
[INFO] [stdout]     |     ^^^^^^^^^^^^^ `Person` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Person` must be defined only once in the type namespace of this block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Label` is defined multiple times
[INFO] [stdout]    --> src/main.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     struct Label { number: u32 }
[INFO] [stdout]     |     ------------ previous definition of the type `Label` here
[INFO] [stdout] ...
[INFO] [stdout] 217 |     struct Label { number: u32 }
[INFO] [stdout]     |     ^^^^^^^^^^^^ `Label` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Label` must be defined only once in the type namespace of this block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Person` is defined multiple times
[INFO] [stdout]    --> src/main.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout]  55 |     struct Person { name: String, birth: i32 }
[INFO] [stdout]     |     ------------- previous definition of the type `Person` here
[INFO] [stdout] ...
[INFO] [stdout] 157 |     struct Person { name: Option<String>, birth: i32 }
[INFO] [stdout]     |     ^^^^^^^^^^^^^ `Person` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Person` must be defined only once in the type namespace of this block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Label` is defined multiple times
[INFO] [stdout]    --> src/main.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     struct Label { number: u32 }
[INFO] [stdout]     |     ------------ previous definition of the type `Label` here
[INFO] [stdout] ...
[INFO] [stdout] 217 |     struct Label { number: u32 }
[INFO] [stdout]     |     ^^^^^^^^^^^^ `Label` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Label` must be defined only once in the type namespace of this block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `c` in this scope
[INFO] [stdout]   --> src/main.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     if c {
[INFO] [stdout]    |        ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `c` in this scope
[INFO] [stdout]   --> src/main.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     if c {
[INFO] [stdout]    |        ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0204]: the trait `Copy` cannot be implemented for this type
[INFO] [stdout]    --> src/main.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 220 |     #[derive(Copy, Clone)]
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 221 |     struct StringLabel { name: String }
[INFO] [stdout]     |                          ------------ this field does not implement `Copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0204]: the trait `Copy` cannot be implemented for this type
[INFO] [stdout]    --> src/main.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 220 |     #[derive(Copy, Clone)]
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 221 |     struct StringLabel { name: String }
[INFO] [stdout]     |                          ------------ this field does not implement `Copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `f` in this scope
[INFO] [stdout]   --> src/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         f(x); //... ok to move from x here
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `f` in this scope
[INFO] [stdout]   --> src/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         f(x); //... ok to move from x here
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `g` in this scope
[INFO] [stdout]   --> src/main.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         g(x); // ... and ok to also move from x here
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `g` in this scope
[INFO] [stdout]   --> src/main.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         g(x); // ... and ok to also move from x here
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `f` in this scope
[INFO] [stdout]   --> src/main.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 |     while f() {
[INFO] [stdout]    |           ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `f` in this scope
[INFO] [stdout]   --> src/main.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 |     while f() {
[INFO] [stdout]    |           ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `g` in this scope
[INFO] [stdout]   --> src/main.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         g(x); // bad: x would be moved in the first iteration,
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `g` in this scope
[INFO] [stdout]   --> src/main.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         g(x); // bad: x would be moved in the first iteration,
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `f` in this scope
[INFO] [stdout]   --> src/main.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 |     while f() {
[INFO] [stdout]    |           ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `f` in this scope
[INFO] [stdout]   --> src/main.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 |     while f() {
[INFO] [stdout]    |           ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `g` in this scope
[INFO] [stdout]   --> src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         g(x); // move from x
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `g` in this scope
[INFO] [stdout]   --> src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         g(x); // move from x
[INFO] [stdout]    |         ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `h` in this scope
[INFO] [stdout]   --> src/main.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         x = h(); // give x a fresh value
[INFO] [stdout]    |             ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `h` in this scope
[INFO] [stdout]   --> src/main.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         x = h(); // give x a fresh value
[INFO] [stdout]    |             ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `e` in this scope
[INFO] [stdout]   --> src/main.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     e(x);
[INFO] [stdout]    |     ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `e` in this scope
[INFO] [stdout]   --> src/main.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     e(x);
[INFO] [stdout]    |     ^ help: a local variable with a similar name exists: `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:150:16
[INFO] [stdout]     |
[INFO] [stdout] 150 |         s.push("!");
[INFO] [stdout]     |           ---- ^^^ expected `char`, found `&str`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/c8085cfed34c45021fc8f66d073f6394b3e35431/library/alloc/src/string.rs:1389:11
[INFO] [stdout] help: if you meant to write a `char` literal, use single quotes
[INFO] [stdout]     |
[INFO] [stdout] 150 -         s.push("!");
[INFO] [stdout] 150 +         s.push('!');
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use `push_str`
[INFO] [stdout]     |
[INFO] [stdout] 150 |         s.push_str("!");
[INFO] [stdout]     |               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:150:16
[INFO] [stdout]     |
[INFO] [stdout] 150 |         s.push("!");
[INFO] [stdout]     |           ---- ^^^ expected `char`, found `&str`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/c8085cfed34c45021fc8f66d073f6394b3e35431/library/alloc/src/string.rs:1389:11
[INFO] [stdout] help: if you meant to write a `char` literal, use single quotes
[INFO] [stdout]     |
[INFO] [stdout] 150 -         s.push("!");
[INFO] [stdout] 150 +         s.push('!');
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use `push_str`
[INFO] [stdout]     |
[INFO] [stdout] 150 |         s.push_str("!");
[INFO] [stdout]     |               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |     composers.push(Person { name: Some("Palestrina".to_string()), birth: 1525 });
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `String`
[INFO] [stdout]                  found enum `Option<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |     composers.push(Person { name: Some("Palestrina".to_string()), birth: 1525 });
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `String`
[INFO] [stdout]                  found enum `Option<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:166:64
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let first_name = std::mem::replace(&mut composers[0].name, None);
[INFO] [stdout]     |                      -----------------                         ^^^^ expected `String`, found `Option<_>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `String`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] help: the return type of this call is `Option<_>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:166:22
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let first_name = std::mem::replace(&mut composers[0].name, None);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                this argument influences the return type of `replace`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /rustc/c8085cfed34c45021fc8f66d073f6394b3e35431/library/core/src/mem/mod.rs:879:13
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:166:64
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let first_name = std::mem::replace(&mut composers[0].name, None);
[INFO] [stdout]     |                      -----------------                         ^^^^ expected `String`, found `Option<_>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `String`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] help: the return type of this call is `Option<_>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:166:22
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let first_name = std::mem::replace(&mut composers[0].name, None);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                this argument influences the return type of `replace`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /rustc/c8085cfed34c45021fc8f66d073f6394b3e35431/library/core/src/mem/mod.rs:879:13
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `String` with `Option<String>`
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     assert_eq!(first_name, Some("Palestrina".to_string()));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `String == Option<String>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Option<String>>` is not implemented for `String`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `String` implements `PartialEq<&str>`
[INFO] [stdout]               `String` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `String` implements `PartialEq<ByteString>`
[INFO] [stdout]               `String` implements `PartialEq<Cow<'_, str>>`
[INFO] [stdout]               `String` implements `PartialEq<Path>`
[INFO] [stdout]               `String` implements `PartialEq<PathBuf>`
[INFO] [stdout]               `String` implements `PartialEq<str>`
[INFO] [stdout]               `String` implements `PartialEq`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `String` with `Option<String>`
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     assert_eq!(first_name, Some("Palestrina".to_string()));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `String == Option<String>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Option<String>>` is not implemented for `String`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `String` implements `PartialEq<&str>`
[INFO] [stdout]               `String` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `String` implements `PartialEq<ByteString>`
[INFO] [stdout]               `String` implements `PartialEq<Cow<'_, str>>`
[INFO] [stdout]               `String` implements `PartialEq<Path>`
[INFO] [stdout]               `String` implements `PartialEq<PathBuf>`
[INFO] [stdout]               `String` implements `PartialEq<str>`
[INFO] [stdout]               `String` implements `PartialEq`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `String` with `Option<_>`
[INFO] [stdout]    --> src/main.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     assert_eq!(composers[0].name, None);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `String == Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Option<_>>` is not implemented for `String`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `String` implements `PartialEq<&str>`
[INFO] [stdout]               `String` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `String` implements `PartialEq<ByteString>`
[INFO] [stdout]               `String` implements `PartialEq<Cow<'_, str>>`
[INFO] [stdout]               `String` implements `PartialEq<Path>`
[INFO] [stdout]               `String` implements `PartialEq<PathBuf>`
[INFO] [stdout]               `String` implements `PartialEq<str>`
[INFO] [stdout]               `String` implements `PartialEq`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `String` with `Option<_>`
[INFO] [stdout]    --> src/main.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     assert_eq!(composers[0].name, None);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `String == Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Option<_>>` is not implemented for `String`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `String` implements `PartialEq<&str>`
[INFO] [stdout]               `String` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `String` implements `PartialEq<ByteString>`
[INFO] [stdout]               `String` implements `PartialEq<Cow<'_, str>>`
[INFO] [stdout]               `String` implements `PartialEq<Path>`
[INFO] [stdout]               `String` implements `PartialEq<PathBuf>`
[INFO] [stdout]               `String` implements `PartialEq<str>`
[INFO] [stdout]               `String` implements `PartialEq`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `String` is not an iterator
[INFO] [stdout]    --> src/main.rs:171:40
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let first_name = composers[0].name.take();
[INFO] [stdout]     |                                        ^^^^ `String` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `String: Iterator`
[INFO] [stdout]             which is required by `&mut String: Iterator`
[INFO] [stdout]             `str: Iterator`
[INFO] [stdout]             which is required by `&mut str: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `String` is not an iterator
[INFO] [stdout]    --> src/main.rs:171:40
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let first_name = composers[0].name.take();
[INFO] [stdout]     |                                        ^^^^ `String` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `String: Iterator`
[INFO] [stdout]             which is required by `&mut String: Iterator`
[INFO] [stdout]             `str: Iterator`
[INFO] [stdout]             which is required by `&mut str: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0204, E0277, E0308, E0425, E0428, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0204`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0204, E0277, E0308, E0425, E0428, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0204`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ownership-moves` (bin "ownership-moves" test) due to 20 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ownership-moves` (bin "ownership-moves") due to 20 previous errors
[INFO] running `Command { std: "docker" "inspect" "fbe3a9b6ca9e368bd77cd89bba4890226427b2eb9aded142676b00bb8b87e785", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbe3a9b6ca9e368bd77cd89bba4890226427b2eb9aded142676b00bb8b87e785", kill_on_drop: false }`
[INFO] [stdout] fbe3a9b6ca9e368bd77cd89bba4890226427b2eb9aded142676b00bb8b87e785
