[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] testing mreboland/rustOwnershipMoves against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmreboland%2FrustOwnershipMoves" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/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-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mreboland/rustOwnershipMoves on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e
[INFO] running `Command { std: "docker" "start" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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[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]    |        ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 75 -     if c {
[INFO] [stdout] 75 +     if s {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0204]: the trait `Copy` cannot be implemented for this type
[INFO] [stdout]    --> src/main.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 |     #[derive(Copy, Clone)]
[INFO] [stdout]     |              ---- in this derive macro expansion
[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]    |         ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 76 -         f(x); //... ok to move from x here
[INFO] [stdout] 76 +         s(x); //... ok to move from x here
[INFO] [stdout]    |
[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]    |         ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 78 -         g(x); // ... and ok to also move from x here
[INFO] [stdout] 78 +         s(x); // ... and ok to also move from x here
[INFO] [stdout]    |
[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]    |           ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 84 -     while f() {
[INFO] [stdout] 84 +     while s() {
[INFO] [stdout]    |
[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]    |         ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 85 -         g(x); // bad: x would be moved in the first iteration,
[INFO] [stdout] 85 +         s(x); // bad: x would be moved in the first iteration,
[INFO] [stdout]    |
[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]    |           ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 91 -     while f() {
[INFO] [stdout] 91 +     while s() {
[INFO] [stdout]    |
[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]    |         ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 92 -         g(x); // move from x
[INFO] [stdout] 92 +         s(x); // move from x
[INFO] [stdout]    |
[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]    |             ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 93 -         x = h(); // give x a fresh value
[INFO] [stdout] 93 +         x = s(); // give x a fresh value
[INFO] [stdout]    |
[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]    |     ^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 95 -     e(x);
[INFO] [stdout] 95 +     s(x);
[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/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/string.rs:1432: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: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/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/mem/mod.rs:961: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: `String` implements trait `PartialEq<Rhs>`:
[INFO] [stdout]               PartialEq<&str>
[INFO] [stdout]               PartialEq<ByteStr>
[INFO] [stdout]               PartialEq<ByteString>
[INFO] [stdout]               PartialEq<Cow<'_, str>>
[INFO] [stdout]               PartialEq<Path>
[INFO] [stdout]               PartialEq<PathBuf>
[INFO] [stdout]               PartialEq<str>
[INFO] [stdout]               PartialEq
[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: `String` implements trait `PartialEq<Rhs>`:
[INFO] [stdout]               PartialEq<&str>
[INFO] [stdout]               PartialEq<ByteStr>
[INFO] [stdout]               PartialEq<ByteString>
[INFO] [stdout]               PartialEq<Cow<'_, str>>
[INFO] [stdout]               PartialEq<Path>
[INFO] [stdout]               PartialEq<PathBuf>
[INFO] [stdout]               PartialEq<str>
[INFO] [stdout]               PartialEq
[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] [stderr] error: could not compile `ownership-moves` (bin "ownership-moves") due to 20 previous errors
[INFO] running `Command { std: "docker" "inspect" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e", kill_on_drop: false }`
[INFO] [stdout] e229ed6c10e269a23b292989f239a78739da96f5f8eda50c41d2abb7a0f9fc4e
