[INFO] fetching crate cargo-add 0.2.0...
[INFO] testing cargo-add-0.2.0 against 1.69.0 for beta-1.70-1
[INFO] extracting crate cargo-add 0.2.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate cargo-add 0.2.0 on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cargo-add 0.2.0
[INFO] finished tweaking crates.io crate cargo-add 0.2.0
[INFO] tweaked toml for crates.io crate cargo-add 0.2.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+1.69.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded semver v0.6.0
[INFO] [stderr]   Downloaded strsim v0.6.0
[INFO] [stderr]   Downloaded toml v0.2.1
[INFO] [stderr]   Downloaded docopt v0.7.0
[INFO] [stderr]   Downloaded rustc-serialize v0.3.22
[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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0a66f1338259ff52e609206abe0561b48ad0d92d37c70d3079b4ddfdbef83496
[INFO] running `Command { std: "docker" "start" "-a" "0a66f1338259ff52e609206abe0561b48ad0d92d37c70d3079b4ddfdbef83496", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0a66f1338259ff52e609206abe0561b48ad0d92d37c70d3079b4ddfdbef83496", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a66f1338259ff52e609206abe0561b48ad0d92d37c70d3079b4ddfdbef83496", kill_on_drop: false }`
[INFO] [stdout] 0a66f1338259ff52e609206abe0561b48ad0d92d37c70d3079b4ddfdbef83496
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 642c1aa41199c96598b9513d916fca5ccf178026626fee7b45a827e44a5278fa
[INFO] running `Command { std: "docker" "start" "-a" "642c1aa41199c96598b9513d916fca5ccf178026626fee7b45a827e44a5278fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling ucd-util v0.1.10
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling rustc-serialize v0.3.22
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling strsim v0.6.0
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling semver v0.6.0
[INFO] [stderr]    Compiling toml v0.2.1
[INFO] [stderr]    Compiling docopt v0.7.0
[INFO] [stderr]    Compiling cargo-add v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     try!(semver::VersionReq::parse(version));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     try!(file.read_to_string(&mut data));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     try!(file.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         try!(toml.remove("package").map(|data| ("package", data))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:73:74
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:88:56
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:95:57
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:105:69
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<Error>> {
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<dyn Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:122:79
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<Error>> {
[INFO] [stdout]     |                                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 131 |         -> Result<(), Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |         -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:66:31
[INFO] [stdout]    |
[INFO] [stdout] 66 |         format.write_str(self.description())
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:184:38
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .or_else(|err| -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .or_else(|err| -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.09s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "642c1aa41199c96598b9513d916fca5ccf178026626fee7b45a827e44a5278fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "642c1aa41199c96598b9513d916fca5ccf178026626fee7b45a827e44a5278fa", kill_on_drop: false }`
[INFO] [stdout] 642c1aa41199c96598b9513d916fca5ccf178026626fee7b45a827e44a5278fa
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d7a58af55ff2efc9f8350948a169eafff1c04028955bf0d8c9fc159505a79bb
[INFO] running `Command { std: "docker" "start" "-a" "7d7a58af55ff2efc9f8350948a169eafff1c04028955bf0d8c9fc159505a79bb", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     try!(semver::VersionReq::parse(version));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     try!(file.read_to_string(&mut data));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     try!(file.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         try!(toml.remove("package").map(|data| ("package", data))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:73:74
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:88:56
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:95:57
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:105:69
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<Error>> {
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<dyn Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:122:79
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<Error>> {
[INFO] [stdout]     |                                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 131 |         -> Result<(), Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |         -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:66:31
[INFO] [stdout]    |
[INFO] [stdout] 66 |         format.write_str(self.description())
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:184:38
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .or_else(|err| -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .or_else(|err| -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cargo-add v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     try!(semver::VersionReq::parse(version));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     try!(file.read_to_string(&mut data));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     try!(file.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         try!(toml.remove("package").map(|data| ("package", data))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:73:74
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:88:56
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:95:57
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:105:69
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<Error>> {
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<dyn Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:122:79
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<Error>> {
[INFO] [stdout]     |                                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 131 |         -> Result<(), Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |         -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:66:31
[INFO] [stdout]    |
[INFO] [stdout] 66 |         format.write_str(self.description())
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:184:38
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .or_else(|err| -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .or_else(|err| -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.60s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7d7a58af55ff2efc9f8350948a169eafff1c04028955bf0d8c9fc159505a79bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d7a58af55ff2efc9f8350948a169eafff1c04028955bf0d8c9fc159505a79bb", kill_on_drop: false }`
[INFO] [stdout] 7d7a58af55ff2efc9f8350948a169eafff1c04028955bf0d8c9fc159505a79bb
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fa94b1350ae2d36c78b893f9f6531672e7aadf7e4b19f4ca71ccea3bd83b838c
[INFO] running `Command { std: "docker" "start" "-a" "fa94b1350ae2d36c78b893f9f6531672e7aadf7e4b19f4ca71ccea3bd83b838c", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/main.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Debug, RustcDecodable)]
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 |     try!(semver::VersionReq::parse(version));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/main.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     try!(file.read_to_string(&mut data));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/main.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     try!(file.seek(SeekFrom::Start(0)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/main.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 134 |         try!(toml.remove("package").map(|data| ("package", data))
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:73:74
[INFO] [stderr]    |
[INFO] [stderr] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<Error>> {
[INFO] [stderr]    |                                                                          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 73 | fn parse_dependency(dep: &String, args: &Args) -> Result<Dependency, Box<dyn Error>> {
[INFO] [stderr]    |                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:82:62
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stderr]    |                                                              ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn parse_semver(version: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stderr]    |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:88:56
[INFO] [stderr]    |
[INFO] [stderr] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stderr]    |                                                        ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 88 | fn parse_git(repo: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:95:57
[INFO] [stderr]    |
[INFO] [stderr] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<Error>> {
[INFO] [stderr]    |                                                         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 95 | fn parse_path(path: &String) -> Result<toml::Value, Box<dyn Error>> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:105:69
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<Error>> {
[INFO] [stderr]     |                                                                     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn find_manifest(specified: Option<&String>) -> Result<PathBuf, Box<dyn Error>> {
[INFO] [stderr]     |                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:122:79
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<Error>> {
[INFO] [stderr]     |                                                                               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn read_as_toml(file: &mut File) -> Result<BTreeMap<String, toml::Value>, Box<dyn Error>> {
[INFO] [stderr]     |                                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:131:27
[INFO] [stderr]     |
[INFO] [stderr] 131 |         -> Result<(), Box<Error>> {
[INFO] [stderr]     |                           ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 131 |         -> Result<(), Box<dyn Error>> {
[INFO] [stderr]     |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:66:31
[INFO] [stderr]    |
[INFO] [stderr] 66 |         format.write_str(self.description())
[INFO] [stderr]    |                               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:184:38
[INFO] [stderr]     |
[INFO] [stderr] 184 |     .or_else(|err| -> Result<(), Box<Error>> {
[INFO] [stderr]     |                                      ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 184 |     .or_else(|err| -> Result<(), Box<dyn Error>> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: `cargo-add` (bin "cargo-add") generated 14 warnings (run `cargo fix --bin "cargo-add"` to apply 8 suggestions)
[INFO] [stderr] warning: `cargo-add` (bin "cargo-add" test) generated 14 warnings (14 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cargo_add-2ec806616139a384)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/shell_hook.rs (/opt/rustwide/target/debug/deps/shell_hook-4d73a12e361636f1)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_from_shell ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fa94b1350ae2d36c78b893f9f6531672e7aadf7e4b19f4ca71ccea3bd83b838c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa94b1350ae2d36c78b893f9f6531672e7aadf7e4b19f4ca71ccea3bd83b838c", kill_on_drop: false }`
[INFO] [stdout] fa94b1350ae2d36c78b893f9f6531672e7aadf7e4b19f4ca71ccea3bd83b838c
