[INFO] fetching crate expectation 0.1.1... [INFO] testing expectation-0.1.1 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate expectation 0.1.1 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate expectation 0.1.1 [INFO] finished tweaking crates.io crate expectation 0.1.1 [INFO] tweaked toml for crates.io crate expectation 0.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate expectation 0.1.1 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 46 packages to latest compatible versions [INFO] [stderr] Adding image v0.19.0 (available: v0.25.8) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3247977cf77a749f4fa9ccbcd43564b638028f6bc0e118162942a0218e969228 [INFO] running `Command { std: "docker" "start" "-a" "3247977cf77a749f4fa9ccbcd43564b638028f6bc0e118162942a0218e969228", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3247977cf77a749f4fa9ccbcd43564b638028f6bc0e118162942a0218e969228", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3247977cf77a749f4fa9ccbcd43564b638028f6bc0e118162942a0218e969228", kill_on_drop: false }` [INFO] [stdout] 3247977cf77a749f4fa9ccbcd43564b638028f6bc0e118162942a0218e969228 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 455cb147ecb4983dc30571bf5c69423a777000705efee0f4fc84de0eebea93f9 [INFO] running `Command { std: "docker" "start" "-a" "455cb147ecb4983dc30571bf5c69423a777000705efee0f4fc84de0eebea93f9", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling num-rational v0.1.43 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling gif v0.10.3 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling png v0.12.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling image v0.19.0 [INFO] [stderr] Compiling expectation-shared v0.1.0 [INFO] [stderr] Compiling expectation v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:122:31 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] 122 + C: for<'a> Fn(&'a mut ReadSeek, &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:122:51 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] 122 + C: for<'a> Fn(&'a mut (ReadSeek), &'a mut ReadSeek) -> IoResult + 'static, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:123:31 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] 123 + D: for<'b> Fn(&'b mut ReadSeek, &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:123:51 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] 123 + D: for<'b> Fn(&'b mut (ReadSeek), &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fs: Box, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) root_fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) root_fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:37:24 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:32 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut dyn ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:50 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut dyn ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | / for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] 30 | | -> IoResult<()>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | dyn for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut dyn ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:50 [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut dyn ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | filesystem: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | filesystem: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:16:35 [INFO] [stdout] | [INFO] [stdout] 16 | Fn: for<'a> FnMut(&'a mut Write) -> IoResult<()>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | Fn: for<'a> FnMut(&'a mut dyn Write) -> IoResult<()>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:60:28 [INFO] [stdout] | [INFO] [stdout] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:80:57 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (dyn ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:122:52 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (dyn ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (dyn ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:123:52 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (dyn ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/lib.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | let name = name.trim_left_matches("expectation_test_"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated method [INFO] [stdout] | [INFO] [stdout] 46 - let name = name.trim_left_matches("expectation_test_"); [INFO] [stdout] 46 + let name = name.trim_start_matches("expectation_test_"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(w, "image formats are different"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = writeln!(w, "image formats are different"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | writeln!(w, "actual: RGB8"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 137 | let _ = writeln!(w, "actual: RGB8"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:138:17 [INFO] [stdout] | [INFO] [stdout] 138 | writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 138 | let _ = writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | writeln!(w, "image formats are different"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 144 | let _ = writeln!(w, "image formats are different"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 145 | let _ = writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | writeln!(w, "expected: RGB8"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 146 | let _ = writeln!(w, "expected: RGB8"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.12s [INFO] running `Command { std: "docker" "inspect" "455cb147ecb4983dc30571bf5c69423a777000705efee0f4fc84de0eebea93f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "455cb147ecb4983dc30571bf5c69423a777000705efee0f4fc84de0eebea93f9", kill_on_drop: false }` [INFO] [stdout] 455cb147ecb4983dc30571bf5c69423a777000705efee0f4fc84de0eebea93f9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 808fa460e9ccf0919769ffd9e3b0525ee79574a04a285f1818c03e5569c15f2f [INFO] running `Command { std: "docker" "start" "-a" "808fa460e9ccf0919769ffd9e3b0525ee79574a04a285f1818c03e5569c15f2f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:122:31 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] 122 + C: for<'a> Fn(&'a mut ReadSeek, &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:122:51 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] 122 + C: for<'a> Fn(&'a mut (ReadSeek), &'a mut ReadSeek) -> IoResult + 'static, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:123:31 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] 123 + D: for<'b> Fn(&'b mut ReadSeek, &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:123:51 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] 123 + D: for<'b> Fn(&'b mut (ReadSeek), &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fs: Box, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) root_fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) root_fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:37:24 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:32 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut dyn ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:50 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut dyn ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | / for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] 30 | | -> IoResult<()>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | dyn for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut dyn ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:50 [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut dyn ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | filesystem: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | filesystem: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:16:35 [INFO] [stdout] | [INFO] [stdout] 16 | Fn: for<'a> FnMut(&'a mut Write) -> IoResult<()>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | Fn: for<'a> FnMut(&'a mut dyn Write) -> IoResult<()>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:60:28 [INFO] [stdout] | [INFO] [stdout] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:80:57 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (dyn ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:122:52 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (dyn ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (dyn ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:123:52 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (dyn ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/lib.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | let name = name.trim_left_matches("expectation_test_"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated method [INFO] [stdout] | [INFO] [stdout] 46 - let name = name.trim_left_matches("expectation_test_"); [INFO] [stdout] 46 + let name = name.trim_start_matches("expectation_test_"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling expectation v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(w, "image formats are different"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = writeln!(w, "image formats are different"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | writeln!(w, "actual: RGB8"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 137 | let _ = writeln!(w, "actual: RGB8"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:138:17 [INFO] [stdout] | [INFO] [stdout] 138 | writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 138 | let _ = writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | writeln!(w, "image formats are different"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 144 | let _ = writeln!(w, "image formats are different"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 145 | let _ = writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | writeln!(w, "expected: RGB8"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 146 | let _ = writeln!(w, "expected: RGB8"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:122:31 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] 122 + C: for<'a> Fn(&'a mut ReadSeek, &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:122:51 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] 122 + C: for<'a> Fn(&'a mut (ReadSeek), &'a mut ReadSeek) -> IoResult + 'static, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:123:31 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] 123 + D: for<'b> Fn(&'b mut ReadSeek, &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/provider.rs:123:51 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] 123 + D: for<'b> Fn(&'b mut (ReadSeek), &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fs: Box, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) root_fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) root_fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:37:24 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:32 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut dyn ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:27:50 [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | Box Fn(&'a mut ReadSeek, &'a mut dyn ReadSeek) -> IoResult>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | / for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] 30 | | -> IoResult<()>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | dyn for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut dyn ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:29:50 [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut dyn ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | filesystem: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | filesystem: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | fs: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | fs: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:16:35 [INFO] [stdout] | [INFO] [stdout] 16 | Fn: for<'a> FnMut(&'a mut Write) -> IoResult<()>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | Fn: for<'a> FnMut(&'a mut dyn Write) -> IoResult<()>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:60:28 [INFO] [stdout] | [INFO] [stdout] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:80:57 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (dyn ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:122:52 [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (dyn ReadSeek)) -> IoResult + 'static, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (dyn ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:123:52 [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (dyn ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/provider.rs:141:61 [INFO] [stdout] | [INFO] [stdout] 141 | let filesystem = Box::new(FakeFileSystem::new()) as Box; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | let filesystem = Box::new(FakeFileSystem::new()) as Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/lib.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | let name = name.trim_left_matches("expectation_test_"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated method [INFO] [stdout] | [INFO] [stdout] 46 - let name = name.trim_left_matches("expectation_test_"); [INFO] [stdout] 46 + let name = name.trim_start_matches("expectation_test_"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(w, "image formats are different"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = writeln!(w, "image formats are different"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | writeln!(w, "actual: RGB8"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 137 | let _ = writeln!(w, "actual: RGB8"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:138:17 [INFO] [stdout] | [INFO] [stdout] 138 | writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 138 | let _ = writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | writeln!(w, "image formats are different"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 144 | let _ = writeln!(w, "image formats are different"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 145 | let _ = writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/extensions/image.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | writeln!(w, "expected: RGB8"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 146 | let _ = writeln!(w, "expected: RGB8"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.18s [INFO] running `Command { std: "docker" "inspect" "808fa460e9ccf0919769ffd9e3b0525ee79574a04a285f1818c03e5569c15f2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "808fa460e9ccf0919769ffd9e3b0525ee79574a04a285f1818c03e5569c15f2f", kill_on_drop: false }` [INFO] [stdout] 808fa460e9ccf0919769ffd9e3b0525ee79574a04a285f1818c03e5569c15f2f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f0f2113c4d2301d0882a2467e68fcaa0f42ccadac8deb903f6f7c311ec86465a [INFO] running `Command { std: "docker" "start" "-a" "f0f2113c4d2301d0882a2467e68fcaa0f42ccadac8deb903f6f7c311ec86465a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:122:31 [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] 122 + C: for<'a> Fn(&'a mut ReadSeek, &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:122:51 [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] 122 + C: for<'a> Fn(&'a mut (ReadSeek), &'a mut ReadSeek) -> IoResult + 'static, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:123:31 [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] 123 + D: for<'b> Fn(&'b mut ReadSeek, &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:123:51 [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] 123 + D: for<'b> Fn(&'b mut (ReadSeek), &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:8:24 [INFO] [stderr] | [INFO] [stderr] 8 | pub(crate) fs: Box, [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 [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 8 | pub(crate) fs: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:36:29 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) root_fs: Box, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) root_fs: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:37:24 [INFO] [stderr] | [INFO] [stderr] 37 | pub(crate) fs: Box, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 37 | pub(crate) fs: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:27:32 [INFO] [stderr] | [INFO] [stderr] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 27 | Box Fn(&'a mut dyn ReadSeek, &'a mut ReadSeek) -> IoResult>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:27:50 [INFO] [stderr] | [INFO] [stderr] 27 | Box Fn(&'a mut ReadSeek, &'a mut ReadSeek) -> IoResult>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 27 | Box Fn(&'a mut ReadSeek, &'a mut dyn ReadSeek) -> IoResult>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | / for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stderr] 30 | | -> IoResult<()>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 29 | dyn for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:29:32 [INFO] [stderr] | [INFO] [stderr] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 29 | for<'b> Fn(&'b mut dyn ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:29:50 [INFO] [stderr] | [INFO] [stderr] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 29 | for<'b> Fn(&'b mut ReadSeek, &'b mut dyn ReadSeek, &'b Path, &'b mut WriteRequester) [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:44:21 [INFO] [stderr] | [INFO] [stderr] 44 | filesystem: Box, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 44 | filesystem: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | fs: Box, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 109 | fs: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:16:35 [INFO] [stderr] | [INFO] [stderr] 16 | Fn: for<'a> FnMut(&'a mut Write) -> IoResult<()>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 | Fn: for<'a> FnMut(&'a mut dyn Write) -> IoResult<()>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 60 | fn new(filesystem: Box, path: PathBuf) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:80:36 [INFO] [stderr] | [INFO] [stderr] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:80:57 [INFO] [stderr] | [INFO] [stderr] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 80 | pub(crate) fn new(root_fs: Box, fs: Box) -> Provider { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:122:32 [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (dyn ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:122:52 [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (dyn ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:123:32 [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (dyn ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:123:52 [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (dyn ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stderr] --> src/lib.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | let name = name.trim_left_matches("expectation_test_"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] help: replace the use of the deprecated method [INFO] [stderr] | [INFO] [stderr] 46 - let name = name.trim_left_matches("expectation_test_"); [INFO] [stderr] 46 + let name = name.trim_start_matches("expectation_test_"); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/extensions/image.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | writeln!(w, "image formats are different"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 136 | let _ = writeln!(w, "image formats are different"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/extensions/image.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | writeln!(w, "actual: RGB8"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 137 | let _ = writeln!(w, "actual: RGB8"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/extensions/image.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 138 | let _ = writeln!(w, "expected: RGBA8 (Alpha)"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/extensions/image.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | writeln!(w, "image formats are different"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 144 | let _ = writeln!(w, "image formats are different"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/extensions/image.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 145 | let _ = writeln!(w, "actual: RGBA8 (Alpha)"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/extensions/image.rs:146:17 [INFO] [stderr] | [INFO] [stderr] 146 | writeln!(w, "expected: RGB8"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 146 | let _ = writeln!(w, "expected: RGB8"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `expectation` (lib) generated 30 warnings (run `cargo fix --lib -p expectation` to apply 24 suggestions) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/provider.rs:141:61 [INFO] [stderr] | [INFO] [stderr] 141 | let filesystem = Box::new(FakeFileSystem::new()) as Box; [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 141 | let filesystem = Box::new(FakeFileSystem::new()) as Box; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `expectation` (lib test) generated 31 warnings (30 duplicates) (run `cargo fix --lib -p expectation --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/expectation-9696f428e81b2b12) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test provider::writer_does_not_write_to_filesystem_if_not_written_to ... ok [INFO] [stdout] test test::not_used_provider ... ok [INFO] [stdout] test test::provider_used_once ... ok [INFO] [stdout] test test::validate_on_no_files ... ok [INFO] [stdout] test test::validate_one_file_diff_is_bad ... ok [INFO] [stdout] test test::validate_one_file_diff_is_bad_with_text_extension ... ok [INFO] [stdout] test test::validate_one_file_actual_not_found ... ok [INFO] [stdout] test test::provider_used_more_than_once ... ok [INFO] [stderr] Doc-tests expectation [INFO] [stdout] test test::validate_one_file_expected_not_found ... ok [INFO] [stdout] test test::validate_one_file_expected_not_found_subdir ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:122:31 [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] 122 + C: for<'a> Fn(&'a mut ReadSeek, &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:122:51 [INFO] [stderr] | [INFO] [stderr] 122 | C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 122 - C: for<'a> Fn(&'a mut (ReadSeek), &'a mut (ReadSeek)) -> IoResult + 'static, [INFO] [stderr] 122 + C: for<'a> Fn(&'a mut (ReadSeek), &'a mut ReadSeek) -> IoResult + 'static, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:123:31 [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] 123 + D: for<'b> Fn(&'b mut ReadSeek, &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/provider.rs:123:51 [INFO] [stderr] | [INFO] [stderr] 123 | D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 123 - D: for<'b> Fn(&'b mut (ReadSeek), &'b mut (ReadSeek), &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] 123 + D: for<'b> Fn(&'b mut (ReadSeek), &'b mut ReadSeek, &'b Path, &'b mut WriteRequester) -> IoResult<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stdout] [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] running `Command { std: "docker" "inspect" "f0f2113c4d2301d0882a2467e68fcaa0f42ccadac8deb903f6f7c311ec86465a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0f2113c4d2301d0882a2467e68fcaa0f42ccadac8deb903f6f7c311ec86465a", kill_on_drop: false }` [INFO] [stdout] f0f2113c4d2301d0882a2467e68fcaa0f42ccadac8deb903f6f7c311ec86465a