[INFO] cloning repository https://github.com/aoikonomopoulos/subdiff [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aoikonomopoulos/subdiff" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faoikonomopoulos%2Fsubdiff", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faoikonomopoulos%2Fsubdiff'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9793cb6ac6dd0afb94b3fdc14a7eab73f7dcd2d4 [INFO] testing aoikonomopoulos/subdiff against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faoikonomopoulos%2Fsubdiff" "/workspace/builds/worker-19/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-19/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aoikonomopoulos/subdiff on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aoikonomopoulos/subdiff [INFO] finished tweaking git repo https://github.com/aoikonomopoulos/subdiff [INFO] tweaked toml for git repo https://github.com/aoikonomopoulos/subdiff written to /workspace/builds/worker-19/source/Cargo.toml [INFO] crate git repo https://github.com/aoikonomopoulos/subdiff already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5b05aea8360d09d982268b43a2d4e22d4f142e6a7c9c11d95905d7ec960aa0fd [INFO] running `Command { std: "docker" "start" "-a" "5b05aea8360d09d982268b43a2d4e22d4f142e6a7c9c11d95905d7ec960aa0fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5b05aea8360d09d982268b43a2d4e22d4f142e6a7c9c11d95905d7ec960aa0fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b05aea8360d09d982268b43a2d4e22d4f142e6a7c9c11d95905d7ec960aa0fd", kill_on_drop: false }` [INFO] [stdout] 5b05aea8360d09d982268b43a2d4e22d4f142e6a7c9c11d95905d7ec960aa0fd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34d81c3631ad0bd5db3a05dc264a19f6888405869ba5a0f523a0ccfe1e24ac3f [INFO] running `Command { std: "docker" "start" "-a" "34d81c3631ad0bd5db3a05dc264a19f6888405869ba5a0f523a0ccfe1e24ac3f", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.42 [INFO] [stderr] Compiling num-traits v0.2.4 [INFO] [stderr] Compiling num-integer v0.1.38 [INFO] [stderr] Compiling lazy_static v1.0.1 [INFO] [stderr] Compiling regex v1.0.0 [INFO] [stderr] Compiling lcs-diff v0.1.1 [INFO] [stderr] Compiling regex-syntax v0.6.1 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling itertools v0.7.8 [INFO] [stderr] Compiling thread_local v0.3.5 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling time v0.1.40 [INFO] [stderr] Compiling aho-corasick v0.6.4 [INFO] [stderr] Compiling clap v2.31.2 [INFO] [stderr] Compiling chrono v0.4.3 [INFO] [stderr] Compiling subdiff v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | fn do_write(&self, &Conf, [INFO] [stdout] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Conf` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | &[Self::DiffItem], &[Self::DiffItem], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Self::DiffItem]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | &[Self::DiffItem], &[Self::DiffItem], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Self::DiffItem]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | &mut Write) -> io::Result<()>; [INFO] [stdout] | ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Write` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/main.rs:144:19 [INFO] [stdout] | [INFO] [stdout] 144 | fn sel(&self, &Conf, &[u8]) -> Option>; [INFO] [stdout] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Conf` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/main.rs:144:26 [INFO] [stdout] | [INFO] [stdout] 144 | fn sel(&self, &Conf, &[u8]) -> Option>; [INFO] [stdout] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | fn file_header(out : &mut Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - fn file_header(out : &mut Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stdout] 64 + fn file_header(out : &mut dyn Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:252:48 [INFO] [stdout] | [INFO] [stdout] 252 | fn build_re_selector(re_strs : I) -> 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 252 - fn build_re_selector(re_strs : I) -> Box [INFO] [stdout] 252 + fn build_re_selector(re_strs : I) -> Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:274:43 [INFO] [stdout] | [INFO] [stdout] 274 | fn extract_re_matches(conf : &Conf, re : &ReSelector, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 274 - fn extract_re_matches(conf : &Conf, re : &ReSelector, [INFO] [stdout] 274 + fn extract_re_matches(conf : &Conf, re : &dyn ReSelector, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:282:36 [INFO] [stdout] | [INFO] [stdout] 282 | fn pick_lines(conf : &Conf, mre : &ReSelector, ignore_re : &Option, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - fn pick_lines(conf : &Conf, mre : &ReSelector, ignore_re : &Option, [INFO] [stdout] 282 + fn pick_lines(conf : &Conf, mre : &dyn ReSelector, ignore_re : &Option, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | fn diff_files<'a, I>(out : &mut Write, conf : &Conf, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 287 - fn diff_files<'a, I>(out : &mut Write, conf : &Conf, [INFO] [stdout] 287 + fn diff_files<'a, I>(out : &mut dyn Write, conf : &Conf, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:145:35 [INFO] [stdout] | [INFO] [stdout] 145 | out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - out : &mut Write) -> io::Result<()> [INFO] [stdout] 145 + out : &mut dyn Write) -> io::Result<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:179:29 [INFO] [stdout] | [INFO] [stdout] 179 | fn write_off_len(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 179 - fn write_off_len(out : &mut Write, [INFO] [stdout] 179 + fn write_off_len(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:197:33 [INFO] [stdout] | [INFO] [stdout] 197 | fn write_hunk_header(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 197 - fn write_hunk_header(out : &mut Write, [INFO] [stdout] 197 + fn write_hunk_header(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:255:35 [INFO] [stdout] | [INFO] [stdout] 255 | fn output_context_line(out : &mut Write, conf : &Conf, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn output_context_line(out : &mut Write, conf : &Conf, [INFO] [stdout] 255 + fn output_context_line(out : &mut dyn Write, conf : &Conf, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:351:45 [INFO] [stdout] | [INFO] [stdout] 351 | ... ds : &mut Iterator>) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 351 - ds : &mut Iterator>) { [INFO] [stdout] 351 + ds : &mut dyn Iterator>) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:404:43 [INFO] [stdout] | [INFO] [stdout] 404 | dump_hunk : &mut FnMut(Option<&Hunk>) -> [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 405 | | io::Result<()>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 404 ~ dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> [INFO] [stdout] 405 ~ io::Result<()>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:441:28 [INFO] [stdout] | [INFO] [stdout] 441 | dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 441 - dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] 441 + dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:580:28 [INFO] [stdout] | [INFO] [stdout] 580 | dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 580 - dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] 580 + dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:629:16 [INFO] [stdout] | [INFO] [stdout] 629 | out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 629 - out : &mut Write, [INFO] [stdout] 629 + out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:16:22 [INFO] [stdout] | [INFO] [stdout] 16 | &mut Write) -> io::Result<()>; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - &mut Write) -> io::Result<()>; [INFO] [stdout] 16 + &mut dyn Write) -> io::Result<()>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - out : &mut Write) -> io::Result<()> { [INFO] [stdout] 165 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:174:28 [INFO] [stdout] | [INFO] [stdout] 174 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 174 - out : &mut Write) -> io::Result<()> { [INFO] [stdout] 174 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:292:28 [INFO] [stdout] | [INFO] [stdout] 292 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 - out : &mut Write) -> io::Result<()> { [INFO] [stdout] 292 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:199:42 [INFO] [stdout] | [INFO] [stdout] 199 | fn narrow_do_common<'a, I, T>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 199 - fn narrow_do_common<'a, I, T>(out : &mut Write, [INFO] [stdout] 199 + fn narrow_do_common<'a, I, T>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:234:47 [INFO] [stdout] | [INFO] [stdout] 234 | fn narrow_do_differences<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 234 - fn narrow_do_differences<'a, T, I>(out : &mut Write, [INFO] [stdout] 234 + fn narrow_do_differences<'a, T, I>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:293:45 [INFO] [stdout] | [INFO] [stdout] 293 | fn wide_do_differences<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 293 - fn wide_do_differences<'a, T, I>(out : &mut Write, [INFO] [stdout] 293 + fn wide_do_differences<'a, T, I>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:335:40 [INFO] [stdout] | [INFO] [stdout] 335 | fn wide_do_common<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 335 - fn wide_do_common<'a, T, I>(out : &mut Write, [INFO] [stdout] 335 + fn wide_do_common<'a, T, I>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:350:42 [INFO] [stdout] | [INFO] [stdout] 350 | ... out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 350 - out : &mut Write) -> io::Result<()> [INFO] [stdout] 350 + out : &mut dyn Write) -> io::Result<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:368:45 [INFO] [stdout] | [INFO] [stdout] 368 | ... out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 368 - out : &mut Write) -> io::Result<()> [INFO] [stdout] 368 + out : &mut dyn Write) -> io::Result<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | fn write_to(&self, out : &mut Write) -> io::Result<()>; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - fn write_to(&self, out : &mut Write) -> io::Result<()>; [INFO] [stdout] 18 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:22:35 [INFO] [stdout] | [INFO] [stdout] 22 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 22 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 30 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 41 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:53:35 [INFO] [stdout] | [INFO] [stdout] 53 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 53 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 53 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:172:32 [INFO] [stdout] | [INFO] [stdout] 172 | fn write(&self, out : &mut Write) -> io::Result<()>{ [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 172 - fn write(&self, out : &mut Write) -> io::Result<()>{ [INFO] [stdout] 172 + fn write(&self, out : &mut dyn Write) -> io::Result<()>{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:310:27 [INFO] [stdout] | [INFO] [stdout] 310 | let mre : Box = re.map(build_re_selector) [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 310 - let mre : Box = re.map(build_re_selector) [INFO] [stdout] 310 + let mre : Box = re.map(build_re_selector) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hunked.rs:422:31 [INFO] [stdout] | [INFO] [stdout] 422 | CollectingCommonsTail(mut hunk, _, _) => hunk, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 32.75s [INFO] running `Command { std: "docker" "inspect" "34d81c3631ad0bd5db3a05dc264a19f6888405869ba5a0f523a0ccfe1e24ac3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34d81c3631ad0bd5db3a05dc264a19f6888405869ba5a0f523a0ccfe1e24ac3f", kill_on_drop: false }` [INFO] [stdout] 34d81c3631ad0bd5db3a05dc264a19f6888405869ba5a0f523a0ccfe1e24ac3f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27edcd396eb612115ab0aac238714649c6a364c8d1dc95a38b4d43146e55e827 [INFO] running `Command { std: "docker" "start" "-a" "27edcd396eb612115ab0aac238714649c6a364c8d1dc95a38b4d43146e55e827", kill_on_drop: false }` [INFO] [stderr] Compiling random v0.12.2 [INFO] [stderr] Compiling num_cpus v1.8.0 [INFO] [stderr] Compiling rand v0.4.2 [INFO] [stderr] Compiling crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling temporary v0.6.3 [INFO] [stderr] Compiling crossbeam-deque v0.2.0 [INFO] [stderr] Compiling rayon-core v1.4.0 [INFO] [stderr] Compiling rayon v1.0.1 [INFO] [stderr] Compiling subdiff v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | fn do_write(&self, &Conf, [INFO] [stdout] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Conf` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | &[Self::DiffItem], &[Self::DiffItem], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Self::DiffItem]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | &[Self::DiffItem], &[Self::DiffItem], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Self::DiffItem]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/hunked.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | &mut Write) -> io::Result<()>; [INFO] [stdout] | ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Write` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/main.rs:144:19 [INFO] [stdout] | [INFO] [stdout] 144 | fn sel(&self, &Conf, &[u8]) -> Option>; [INFO] [stdout] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Conf` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/main.rs:144:26 [INFO] [stdout] | [INFO] [stdout] 144 | fn sel(&self, &Conf, &[u8]) -> Option>; [INFO] [stdout] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | fn file_header(out : &mut Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - fn file_header(out : &mut Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stdout] 64 + fn file_header(out : &mut dyn Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:252:48 [INFO] [stdout] | [INFO] [stdout] 252 | fn build_re_selector(re_strs : I) -> 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 252 - fn build_re_selector(re_strs : I) -> Box [INFO] [stdout] 252 + fn build_re_selector(re_strs : I) -> Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:274:43 [INFO] [stdout] | [INFO] [stdout] 274 | fn extract_re_matches(conf : &Conf, re : &ReSelector, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 274 - fn extract_re_matches(conf : &Conf, re : &ReSelector, [INFO] [stdout] 274 + fn extract_re_matches(conf : &Conf, re : &dyn ReSelector, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:282:36 [INFO] [stdout] | [INFO] [stdout] 282 | fn pick_lines(conf : &Conf, mre : &ReSelector, ignore_re : &Option, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - fn pick_lines(conf : &Conf, mre : &ReSelector, ignore_re : &Option, [INFO] [stdout] 282 + fn pick_lines(conf : &Conf, mre : &dyn ReSelector, ignore_re : &Option, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | fn diff_files<'a, I>(out : &mut Write, conf : &Conf, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 287 - fn diff_files<'a, I>(out : &mut Write, conf : &Conf, [INFO] [stdout] 287 + fn diff_files<'a, I>(out : &mut dyn Write, conf : &Conf, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:145:35 [INFO] [stdout] | [INFO] [stdout] 145 | out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - out : &mut Write) -> io::Result<()> [INFO] [stdout] 145 + out : &mut dyn Write) -> io::Result<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:179:29 [INFO] [stdout] | [INFO] [stdout] 179 | fn write_off_len(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 179 - fn write_off_len(out : &mut Write, [INFO] [stdout] 179 + fn write_off_len(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:197:33 [INFO] [stdout] | [INFO] [stdout] 197 | fn write_hunk_header(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 197 - fn write_hunk_header(out : &mut Write, [INFO] [stdout] 197 + fn write_hunk_header(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:255:35 [INFO] [stdout] | [INFO] [stdout] 255 | fn output_context_line(out : &mut Write, conf : &Conf, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn output_context_line(out : &mut Write, conf : &Conf, [INFO] [stdout] 255 + fn output_context_line(out : &mut dyn Write, conf : &Conf, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:351:45 [INFO] [stdout] | [INFO] [stdout] 351 | ... ds : &mut Iterator>) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 351 - ds : &mut Iterator>) { [INFO] [stdout] 351 + ds : &mut dyn Iterator>) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:404:43 [INFO] [stdout] | [INFO] [stdout] 404 | dump_hunk : &mut FnMut(Option<&Hunk>) -> [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 405 | | io::Result<()>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 404 ~ dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> [INFO] [stdout] 405 ~ io::Result<()>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:441:28 [INFO] [stdout] | [INFO] [stdout] 441 | dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 441 - dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] 441 + dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:580:28 [INFO] [stdout] | [INFO] [stdout] 580 | dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 580 - dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] 580 + dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:629:16 [INFO] [stdout] | [INFO] [stdout] 629 | out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 629 - out : &mut Write, [INFO] [stdout] 629 + out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:16:22 [INFO] [stdout] | [INFO] [stdout] 16 | &mut Write) -> io::Result<()>; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - &mut Write) -> io::Result<()>; [INFO] [stdout] 16 + &mut dyn Write) -> io::Result<()>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - out : &mut Write) -> io::Result<()> { [INFO] [stdout] 165 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:174:28 [INFO] [stdout] | [INFO] [stdout] 174 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 174 - out : &mut Write) -> io::Result<()> { [INFO] [stdout] 174 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hunked.rs:292:28 [INFO] [stdout] | [INFO] [stdout] 292 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 - out : &mut Write) -> io::Result<()> { [INFO] [stdout] 292 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:199:42 [INFO] [stdout] | [INFO] [stdout] 199 | fn narrow_do_common<'a, I, T>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 199 - fn narrow_do_common<'a, I, T>(out : &mut Write, [INFO] [stdout] 199 + fn narrow_do_common<'a, I, T>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:234:47 [INFO] [stdout] | [INFO] [stdout] 234 | fn narrow_do_differences<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 234 - fn narrow_do_differences<'a, T, I>(out : &mut Write, [INFO] [stdout] 234 + fn narrow_do_differences<'a, T, I>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:293:45 [INFO] [stdout] | [INFO] [stdout] 293 | fn wide_do_differences<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 293 - fn wide_do_differences<'a, T, I>(out : &mut Write, [INFO] [stdout] 293 + fn wide_do_differences<'a, T, I>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:335:40 [INFO] [stdout] | [INFO] [stdout] 335 | fn wide_do_common<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 335 - fn wide_do_common<'a, T, I>(out : &mut Write, [INFO] [stdout] 335 + fn wide_do_common<'a, T, I>(out : &mut dyn Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:350:42 [INFO] [stdout] | [INFO] [stdout] 350 | ... out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 350 - out : &mut Write) -> io::Result<()> [INFO] [stdout] 350 + out : &mut dyn Write) -> io::Result<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:368:45 [INFO] [stdout] | [INFO] [stdout] 368 | ... out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 368 - out : &mut Write) -> io::Result<()> [INFO] [stdout] 368 + out : &mut dyn Write) -> io::Result<()> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | fn write_to(&self, out : &mut Write) -> io::Result<()>; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - fn write_to(&self, out : &mut Write) -> io::Result<()>; [INFO] [stdout] 18 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:22:35 [INFO] [stdout] | [INFO] [stdout] 22 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 22 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 30 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 41 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:53:35 [INFO] [stdout] | [INFO] [stdout] 53 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 53 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stdout] 53 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/wdiff.rs:172:32 [INFO] [stdout] | [INFO] [stdout] 172 | fn write(&self, out : &mut Write) -> io::Result<()>{ [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 172 - fn write(&self, out : &mut Write) -> io::Result<()>{ [INFO] [stdout] 172 + fn write(&self, out : &mut dyn Write) -> io::Result<()>{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tests.rs:110:46 [INFO] [stdout] | [INFO] [stdout] 110 | fn do_wdiff(s1 : &str, s2 : &str, out : &mut Write) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - fn do_wdiff(s1 : &str, s2 : &str, out : &mut Write) { [INFO] [stdout] 110 + fn do_wdiff(s1 : &str, s2 : &str, out : &mut dyn Write) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:310:27 [INFO] [stdout] | [INFO] [stdout] 310 | let mre : Box = re.map(build_re_selector) [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 310 - let mre : Box = re.map(build_re_selector) [INFO] [stdout] 310 + let mre : Box = re.map(build_re_selector) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hunked.rs:422:31 [INFO] [stdout] | [INFO] [stdout] 422 | CollectingCommonsTail(mut hunk, _, _) => hunk, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.84s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/subdiff-d6021b5118bcf538) [INFO] running `Command { std: "docker" "inspect" "27edcd396eb612115ab0aac238714649c6a364c8d1dc95a38b4d43146e55e827", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27edcd396eb612115ab0aac238714649c6a364c8d1dc95a38b4d43146e55e827", kill_on_drop: false }` [INFO] [stdout] 27edcd396eb612115ab0aac238714649c6a364c8d1dc95a38b4d43146e55e827 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c29ffc49c7b23132965e9b5070c0e06b51193e95555a48724d91abdca3aa2ef9 [INFO] running `Command { std: "docker" "start" "-a" "c29ffc49c7b23132965e9b5070c0e06b51193e95555a48724d91abdca3aa2ef9", kill_on_drop: false }` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/hunked.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | fn do_write(&self, &Conf, [INFO] [stderr] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Conf` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/hunked.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | &[Self::DiffItem], &[Self::DiffItem], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Self::DiffItem]` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/hunked.rs:15:36 [INFO] [stderr] | [INFO] [stderr] 15 | &[Self::DiffItem], &[Self::DiffItem], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Self::DiffItem]` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/hunked.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | &mut Write) -> io::Result<()>; [INFO] [stderr] | ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Write` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/main.rs:144:19 [INFO] [stderr] | [INFO] [stderr] 144 | fn sel(&self, &Conf, &[u8]) -> Option>; [INFO] [stderr] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Conf` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/main.rs:144:26 [INFO] [stderr] | [INFO] [stderr] 144 | fn sel(&self, &Conf, &[u8]) -> Option>; [INFO] [stderr] | ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:64:27 [INFO] [stderr] | [INFO] [stderr] 64 | fn file_header(out : &mut Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 64 - fn file_header(out : &mut Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stderr] 64 + fn file_header(out : &mut dyn Write, prefix : &[u8], path : &Path) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:252:48 [INFO] [stderr] | [INFO] [stderr] 252 | fn build_re_selector(re_strs : I) -> 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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 252 - fn build_re_selector(re_strs : I) -> Box [INFO] [stderr] 252 + fn build_re_selector(re_strs : I) -> Box [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:274:43 [INFO] [stderr] | [INFO] [stderr] 274 | fn extract_re_matches(conf : &Conf, re : &ReSelector, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 274 - fn extract_re_matches(conf : &Conf, re : &ReSelector, [INFO] [stderr] 274 + fn extract_re_matches(conf : &Conf, re : &dyn ReSelector, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:282:36 [INFO] [stderr] | [INFO] [stderr] 282 | fn pick_lines(conf : &Conf, mre : &ReSelector, ignore_re : &Option, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 282 - fn pick_lines(conf : &Conf, mre : &ReSelector, ignore_re : &Option, [INFO] [stderr] 282 + fn pick_lines(conf : &Conf, mre : &dyn ReSelector, ignore_re : &Option, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:287:33 [INFO] [stderr] | [INFO] [stderr] 287 | fn diff_files<'a, I>(out : &mut Write, conf : &Conf, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 287 - fn diff_files<'a, I>(out : &mut Write, conf : &Conf, [INFO] [stderr] 287 + fn diff_files<'a, I>(out : &mut dyn Write, conf : &Conf, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:145:35 [INFO] [stderr] | [INFO] [stderr] 145 | out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 145 - out : &mut Write) -> io::Result<()> [INFO] [stderr] 145 + out : &mut dyn Write) -> io::Result<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:179:29 [INFO] [stderr] | [INFO] [stderr] 179 | fn write_off_len(out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 179 - fn write_off_len(out : &mut Write, [INFO] [stderr] 179 + fn write_off_len(out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:197:33 [INFO] [stderr] | [INFO] [stderr] 197 | fn write_hunk_header(out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 197 - fn write_hunk_header(out : &mut Write, [INFO] [stderr] 197 + fn write_hunk_header(out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:255:35 [INFO] [stderr] | [INFO] [stderr] 255 | fn output_context_line(out : &mut Write, conf : &Conf, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 255 - fn output_context_line(out : &mut Write, conf : &Conf, [INFO] [stderr] 255 + fn output_context_line(out : &mut dyn Write, conf : &Conf, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:351:45 [INFO] [stderr] | [INFO] [stderr] 351 | ... ds : &mut Iterator>) { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 351 - ds : &mut Iterator>) { [INFO] [stderr] 351 + ds : &mut dyn Iterator>) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:404:43 [INFO] [stderr] | [INFO] [stderr] 404 | dump_hunk : &mut FnMut(Option<&Hunk>) -> [INFO] [stderr] | ___________________________________________^ [INFO] [stderr] 405 | | io::Result<()>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 404 ~ dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> [INFO] [stderr] 405 ~ io::Result<()>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:441:28 [INFO] [stderr] | [INFO] [stderr] 441 | dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 441 - dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stderr] 441 + dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:580:28 [INFO] [stderr] | [INFO] [stderr] 580 | dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 580 - dump_hunk : &mut FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stderr] 580 + dump_hunk : &mut dyn FnMut(Option<&Hunk>) -> io::Result<()>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:629:16 [INFO] [stderr] | [INFO] [stderr] 629 | out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 629 - out : &mut Write, [INFO] [stderr] 629 + out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | &mut Write) -> io::Result<()>; [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 - &mut Write) -> io::Result<()>; [INFO] [stderr] 16 + &mut dyn Write) -> io::Result<()>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:165:28 [INFO] [stderr] | [INFO] [stderr] 165 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 165 - out : &mut Write) -> io::Result<()> { [INFO] [stderr] 165 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:174:28 [INFO] [stderr] | [INFO] [stderr] 174 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 174 - out : &mut Write) -> io::Result<()> { [INFO] [stderr] 174 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hunked.rs:292:28 [INFO] [stderr] | [INFO] [stderr] 292 | out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 292 - out : &mut Write) -> io::Result<()> { [INFO] [stderr] 292 + out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:199:42 [INFO] [stderr] | [INFO] [stderr] 199 | fn narrow_do_common<'a, I, T>(out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 199 - fn narrow_do_common<'a, I, T>(out : &mut Write, [INFO] [stderr] 199 + fn narrow_do_common<'a, I, T>(out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:234:47 [INFO] [stderr] | [INFO] [stderr] 234 | fn narrow_do_differences<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 234 - fn narrow_do_differences<'a, T, I>(out : &mut Write, [INFO] [stderr] 234 + fn narrow_do_differences<'a, T, I>(out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:293:45 [INFO] [stderr] | [INFO] [stderr] 293 | fn wide_do_differences<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 293 - fn wide_do_differences<'a, T, I>(out : &mut Write, [INFO] [stderr] 293 + fn wide_do_differences<'a, T, I>(out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:335:40 [INFO] [stderr] | [INFO] [stderr] 335 | fn wide_do_common<'a, T, I>(out : &mut Write, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 335 - fn wide_do_common<'a, T, I>(out : &mut Write, [INFO] [stderr] 335 + fn wide_do_common<'a, T, I>(out : &mut dyn Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:350:42 [INFO] [stderr] | [INFO] [stderr] 350 | ... out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 350 - out : &mut Write) -> io::Result<()> [INFO] [stderr] 350 + out : &mut dyn Write) -> io::Result<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:368:45 [INFO] [stderr] | [INFO] [stderr] 368 | ... out : &mut Write) -> io::Result<()> [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 368 - out : &mut Write) -> io::Result<()> [INFO] [stderr] 368 + out : &mut dyn Write) -> io::Result<()> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:18:35 [INFO] [stderr] | [INFO] [stderr] 18 | fn write_to(&self, out : &mut Write) -> io::Result<()>; [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 18 - fn write_to(&self, out : &mut Write) -> io::Result<()>; [INFO] [stderr] 18 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:22:35 [INFO] [stderr] | [INFO] [stderr] 22 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stderr] 22 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:30:35 [INFO] [stderr] | [INFO] [stderr] 30 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 30 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stderr] 30 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:41:35 [INFO] [stderr] | [INFO] [stderr] 41 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 41 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stderr] 41 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:53:35 [INFO] [stderr] | [INFO] [stderr] 53 | fn write_to(&self, out : &mut Write) -> io::Result<()> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 53 - fn write_to(&self, out : &mut Write) -> io::Result<()> { [INFO] [stderr] 53 + fn write_to(&self, out : &mut dyn Write) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/wdiff.rs:172:32 [INFO] [stderr] | [INFO] [stderr] 172 | fn write(&self, out : &mut Write) -> io::Result<()>{ [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 172 - fn write(&self, out : &mut Write) -> io::Result<()>{ [INFO] [stderr] 172 + fn write(&self, out : &mut dyn Write) -> io::Result<()>{ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tests.rs:110:46 [INFO] [stderr] | [INFO] [stderr] 110 | fn do_wdiff(s1 : &str, s2 : &str, out : &mut Write) { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 110 - fn do_wdiff(s1 : &str, s2 : &str, out : &mut Write) { [INFO] [stderr] 110 + fn do_wdiff(s1 : &str, s2 : &str, out : &mut dyn Write) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:310:27 [INFO] [stderr] | [INFO] [stderr] 310 | let mre : Box = re.map(build_re_selector) [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 310 - let mre : Box = re.map(build_re_selector) [INFO] [stderr] 310 + let mre : Box = re.map(build_re_selector) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hunked.rs:422:31 [INFO] [stderr] | [INFO] [stderr] 422 | CollectingCommonsTail(mut hunk, _, _) => hunk, [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `subdiff` (bin "subdiff" test) generated 39 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/subdiff-d6021b5118bcf538) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test tests::context_wdiff ... ok [INFO] [stdout] test tests::word_character_class_wide ... ok [INFO] [stdout] test tests::ignore_re_works ... ok [INFO] [stdout] test tests::word_character_class_narrow ... ok [INFO] [stdout] test tests::newline_at_eof_handling ... ok [INFO] [stdout] test tests::char_character_class_wide ... ok [INFO] [stdout] test tests::char_character_class_narrow ... ok [INFO] [stderr] error: test failed, to rerun pass '--bin subdiff' [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/deps/subdiff-d6021b5118bcf538` (signal: 11, SIGSEGV: invalid memory reference) [INFO] running `Command { std: "docker" "inspect" "c29ffc49c7b23132965e9b5070c0e06b51193e95555a48724d91abdca3aa2ef9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c29ffc49c7b23132965e9b5070c0e06b51193e95555a48724d91abdca3aa2ef9", kill_on_drop: false }` [INFO] [stdout] c29ffc49c7b23132965e9b5070c0e06b51193e95555a48724d91abdca3aa2ef9