[INFO] cloning repository https://github.com/ducharmemp/distrust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ducharmemp/distrust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fducharmemp%2Fdistrust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fducharmemp%2Fdistrust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 93ee05faa2a6c5611d1f083f3e086a1b41388283 [INFO] checking ducharmemp/distrust against try#a7a572ce3edd6d476191fbfe92c9c1986e009b34 for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fducharmemp%2Fdistrust" "/workspace/builds/worker-24/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-24/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ducharmemp/distrust on toolchain a7a572ce3edd6d476191fbfe92c9c1986e009b34 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ducharmemp/distrust [INFO] finished tweaking git repo https://github.com/ducharmemp/distrust [INFO] tweaked toml for git repo https://github.com/ducharmemp/distrust written to /workspace/builds/worker-24/source/Cargo.toml [INFO] crate git repo https://github.com/ducharmemp/distrust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/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" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6289ea184e4b48768658237c534d18390eb759e29a383dcb005c6633bf76e7af [INFO] running `Command { std: "docker" "start" "-a" "6289ea184e4b48768658237c534d18390eb759e29a383dcb005c6633bf76e7af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6289ea184e4b48768658237c534d18390eb759e29a383dcb005c6633bf76e7af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6289ea184e4b48768658237c534d18390eb759e29a383dcb005c6633bf76e7af", kill_on_drop: false }` [INFO] [stdout] 6289ea184e4b48768658237c534d18390eb759e29a383dcb005c6633bf76e7af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/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" "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" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 76857a7a8ec886afc0809c985279989060cbb351d8e3a3f6329b4b08bf4611cb [INFO] running `Command { std: "docker" "start" "-a" "76857a7a8ec886afc0809c985279989060cbb351d8e3a3f6329b4b08bf4611cb", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling const_fn v0.4.5 [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling anyhow v1.0.37 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.1 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking distrust v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2018 edition to 2021 [INFO] [stdout] error: expected `,`, or `}`, found `;` [INFO] [stdout] --> src/commands.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | struct Foo { bar: i64; } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::cow` [INFO] [stdout] --> src/commands.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cow::Cow; [INFO] [stdout] | ^^^ could not find `cow` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `commands::Command<'_>: From>` is not satisfied [INFO] [stdout] --> src/commands.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 61 | let command = Command::try_from(command)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `From>` is not implemented for `commands::Command<'_>` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `Vec` [INFO] [stdout] note: required because of the requirements on the impl of `TryFrom>` for `commands::Command<'_>` [INFO] [stdout] --> src/commands.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> TryFrom<&'a[&'a str]> for Command<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] note: required by `try_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:69:31 [INFO] [stdout] | [INFO] [stdout] 69 | dictionary.insert(name, value.into()); [INFO] [stdout] | ^^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | dictionary.insert(name, value.into()); [INFO] [stdout] | ^^^^ the trait `From<&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `String: Borrow<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | .get(&name) [INFO] [stdout] | ^^^ the trait `Borrow<&str>` is not implemented for `String` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | .insert(name, value.into()) [INFO] [stdout] | ^^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:77:33 [INFO] [stdout] | [INFO] [stdout] 77 | .insert(name, value.into()) [INFO] [stdout] | ^^^^ the trait `From<&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `String: Borrow<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:82:45 [INFO] [stdout] | [INFO] [stdout] 82 | .map(|key| match dictionary.remove(key) { [INFO] [stdout] | ^^^^^^ the trait `Borrow<&str>` is not implemented for `String` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | .entry(key.clone()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `key.to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:96:39 [INFO] [stdout] | [INFO] [stdout] 96 | entry.push_front(elem.into()); [INFO] [stdout] | ^^^^ the trait `From<&&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | dictionary.insert(key, entry.into()); [INFO] [stdout] | ^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | .entry(key.clone()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `key.to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:111:38 [INFO] [stdout] | [INFO] [stdout] 111 | entry.push_back(elem.into()); [INFO] [stdout] | ^^^^ the trait `From<&&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | dictionary.insert(key, entry.into()); [INFO] [stdout] | ^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 15 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `distrust` due to 16 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: expected `,`, or `}`, found `;` [INFO] [stdout] --> src/commands.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | struct Foo { bar: i64; } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::cow` [INFO] [stdout] --> src/commands.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cow::Cow; [INFO] [stdout] | ^^^ could not find `cow` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `commands::Command<'_>: From>` is not satisfied [INFO] [stdout] --> src/commands.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 61 | let command = Command::try_from(command)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `From>` is not implemented for `commands::Command<'_>` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `Vec` [INFO] [stdout] note: required because of the requirements on the impl of `TryFrom>` for `commands::Command<'_>` [INFO] [stdout] --> src/commands.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> TryFrom<&'a[&'a str]> for Command<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] note: required by `try_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:69:31 [INFO] [stdout] | [INFO] [stdout] 69 | dictionary.insert(name, value.into()); [INFO] [stdout] | ^^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | dictionary.insert(name, value.into()); [INFO] [stdout] | ^^^^ the trait `From<&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `String: Borrow<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | .get(&name) [INFO] [stdout] | ^^^ the trait `Borrow<&str>` is not implemented for `String` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | .insert(name, value.into()) [INFO] [stdout] | ^^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:77:33 [INFO] [stdout] | [INFO] [stdout] 77 | .insert(name, value.into()) [INFO] [stdout] | ^^^^ the trait `From<&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `String: Borrow<&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:82:45 [INFO] [stdout] | [INFO] [stdout] 82 | .map(|key| match dictionary.remove(key) { [INFO] [stdout] | ^^^^^^ the trait `Borrow<&str>` is not implemented for `String` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | .entry(key.clone()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `key.to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:96:39 [INFO] [stdout] | [INFO] [stdout] 96 | entry.push_front(elem.into()); [INFO] [stdout] | ^^^^ the trait `From<&&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | dictionary.insert(key, entry.into()); [INFO] [stdout] | ^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | .entry(key.clone()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `key.to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `RedisType: From<&&str>` is not satisfied [INFO] [stdout] --> src/commands.rs:111:38 [INFO] [stdout] | [INFO] [stdout] 111 | entry.push_back(elem.into()); [INFO] [stdout] | ^^^^ the trait `From<&&str>` is not implemented for `RedisType` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `&&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/commands.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | dictionary.insert(key, entry.into()); [INFO] [stdout] | ^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 15 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "76857a7a8ec886afc0809c985279989060cbb351d8e3a3f6329b4b08bf4611cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76857a7a8ec886afc0809c985279989060cbb351d8e3a3f6329b4b08bf4611cb", kill_on_drop: false }` [INFO] [stdout] 76857a7a8ec886afc0809c985279989060cbb351d8e3a3f6329b4b08bf4611cb