[INFO] cloning repository https://github.com/AmlingPalantir/r4
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AmlingPalantir/r4" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmlingPalantir%2Fr4", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmlingPalantir%2Fr4'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 256af3c72f094b298cd442097ef7c571d8001f29
[INFO] testing AmlingPalantir/r4 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmlingPalantir%2Fr4" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AmlingPalantir/r4
[INFO] finished tweaking git repo https://github.com/AmlingPalantir/r4
[INFO] tweaked toml for git repo https://github.com/AmlingPalantir/r4 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AmlingPalantir/r4 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AmlingPalantir/r4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/executor/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/registry_args_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/validates_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/registry_args/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/registry/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/wns/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/validates/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/misc/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/stream/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/deaggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/bgop/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/record/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/opts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/clumper/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/sorts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/aggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/r4/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/operation/Cargo.toml: 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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0fd1f03de9b1fbb204c8908feabe12cd1921b624762549c979ef8630d311bc1c
[INFO] running `Command { std: "docker" "start" "-a" "0fd1f03de9b1fbb204c8908feabe12cd1921b624762549c979ef8630d311bc1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0fd1f03de9b1fbb204c8908feabe12cd1921b624762549c979ef8630d311bc1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fd1f03de9b1fbb204c8908feabe12cd1921b624762549c979ef8630d311bc1c", kill_on_drop: false }`
[INFO] [stdout] 0fd1f03de9b1fbb204c8908feabe12cd1921b624762549c979ef8630d311bc1c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff4b7cbdd07840cf13b2ad22258527c549a568a7497edd874e8a9cbd93e24084
[INFO] running `Command { std: "docker" "start" "-a" "ff4b7cbdd07840cf13b2ad22258527c549a568a7497edd874e8a9cbd93e24084", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/r4/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/sorts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/operation/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/aggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/validates_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/opts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry_args/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry_args_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/clumper/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/wns/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/executor/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/record/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/deaggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/validates/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/stream/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/bgop/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/misc/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling libc v0.2.45
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling rand_core v0.3.0
[INFO] [stderr]    Compiling serde v1.0.82
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling misc v1.0.0 (/opt/rustwide/workdir/misc)
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]    Compiling validates v1.0.0 (/opt/rustwide/workdir/validates)
[INFO] [stderr]    Compiling string_cache_shared v0.3.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling byte-tools v0.3.0
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling opts v1.0.0 (/opt/rustwide/workdir/opts)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> opts/src/parser.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | type CbMany<P> = PointerRc<Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | type CbMany<P> = PointerRc<dyn Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> opts/src/parser.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | type CbOne<P> = PointerRc<Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | type CbOne<P> = PointerRc<dyn Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_core v0.2.2
[INFO] [stderr]    Compiling phf_shared v0.7.23
[INFO] [stderr]    Compiling block-padding v0.1.2
[INFO] [stderr]    Compiling registry_args v1.0.0 (/opt/rustwide/workdir/registry_args)
[INFO] [stderr]    Compiling regex-syntax v0.6.4
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling byteorder v1.2.7
[INFO] [stderr]    Compiling autocfg v0.1.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.1
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling strsim v0.7.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand v0.5.5
[INFO] [stderr]    Compiling either v1.5.0
[INFO] [stderr]    Compiling bit-vec v0.5.0
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling opaque-debug v0.2.1
[INFO] [stderr]    Compiling term v0.4.6
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling memchr v2.1.2
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling bit-set v0.5.0
[INFO] [stderr]    Compiling backtrace v0.3.13
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling ena v0.10.1
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]    Compiling lalrpop-util v0.16.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.13
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling diff v0.1.11
[INFO] [stderr]    Compiling generic-array v0.12.0
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling syn v0.15.23
[INFO] [stderr]    Compiling aho-corasick v0.6.9
[INFO] [stderr]    Compiling digest v0.8.0
[INFO] [stderr]    Compiling block-buffer v0.7.0
[INFO] [stderr]    Compiling phf_generator v0.7.23
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]    Compiling rand_chacha v0.1.0
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling rand v0.6.1
[INFO] [stderr]    Compiling string_cache_codegen v0.4.2
[INFO] [stderr]    Compiling ascii-canvas v1.0.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.0
[INFO] [stderr]    Compiling wns v1.0.0 (/opt/rustwide/workdir/wns)
[INFO] [stderr]    Compiling string_cache v0.7.3
[INFO] [stderr]    Compiling backtrace-sys v0.1.28
[INFO] [stderr]    Compiling rlua v0.15.3
[INFO] [stderr]    Compiling synstructure v0.10.1
[INFO] [stderr]    Compiling serde_json v1.0.33
[INFO] [stderr]    Compiling record v1.0.0 (/opt/rustwide/workdir/record)
[INFO] [stderr]    Compiling registry_args_derive v1.0.0 (/opt/rustwide/workdir/registry_args_derive)
[INFO] [stderr]    Compiling serde_derive v1.0.82
[INFO] [stderr]    Compiling stream v1.0.0 (/opt/rustwide/workdir/stream)
[INFO] [stderr]    Compiling validates_derive v1.0.0 (/opt/rustwide/workdir/validates_derive)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Stream(Box<StreamTrait>);
[INFO] [stdout]    |                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Stream(Box<dyn StreamTrait>);
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn write(&mut self, r: Entry, w: &mut FnMut(Entry) -> bool) -> bool;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn write(&mut self, r: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:30:39
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool);
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:114:52
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:114:97
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:121:43
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:125:39
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:120:80
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:131:55
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:131:110
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut dyn FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn close(self, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn close(self, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bgop v1.0.0 (/opt/rustwide/workdir/bgop)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> bgop/src/lib.rs:79:87
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut FnMut(Entry) -> bool) -> R {
[INFO] [stdout]    |                                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut dyn FnMut(Entry) -> bool) -> R {
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bgop/src/lib.rs:118:43
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bgop/src/lib.rs:133:41
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn close(self: Box<BgopFe>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn close(self: Box<BgopFe>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling registry v1.0.0 (/opt/rustwide/workdir/registry)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> registry/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     init: Box<Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     init: Box<dyn Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aggregator v1.0.0 (/opt/rustwide/workdir/aggregator)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> aggregator/src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedAggregator = Box<AggregatorInbox>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedAggregator = Box<dyn AggregatorInbox>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling deaggregator v1.0.0 (/opt/rustwide/workdir/deaggregator)
[INFO] [stderr]    Compiling sorts v1.0.0 (/opt/rustwide/workdir/sorts)
[INFO] [stderr]    Compiling clumper v1.0.0 (/opt/rustwide/workdir/clumper)
[INFO] [stderr]    Compiling failure v0.1.5
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<dyn Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<dyn SortBucket>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map: BTreeMap<T, Box<SortBucket>>,
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map: BTreeMap<T, Box<dyn SortBucket>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:77
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stdout]    |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:68
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type BoxedSort = Box<SortInbox>;
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type BoxedSort = Box<dyn SortInbox>;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:31
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:64
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:68
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:52
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:64
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:85
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> deaggregator/src/lib.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type BoxedDeaggregator = Box<DeaggregatorInbox>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type BoxedDeaggregator = Box<dyn DeaggregatorInbox>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:51
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:63
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:84
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedClumper = Box<ClumperInbox>;
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedClumper = Box<dyn ClumperInbox>;
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/key.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:33:40
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn stream(a: &Self::Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn stream(a: &Self::Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/bucket.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new() -> Box<SortBucket> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new() -> Box<dyn SortBucket> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/round_robin.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/window.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:52:31
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling docopt v1.0.2
[INFO] [stderr]    Compiling lalrpop v0.16.2
[INFO] [stderr]    Compiling executor v1.0.0 (/opt/rustwide/workdir/executor)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3225:5
[INFO] [stdout]      |
[INFO] [stdout] 3225 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3225 -     (__0)
[INFO] [stdout] 3225 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3281:5
[INFO] [stdout]      |
[INFO] [stdout] 3281 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3281 -     (__0)
[INFO] [stdout] 3281 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3307:5
[INFO] [stdout]      |
[INFO] [stdout] 3307 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3307 -     (__0)
[INFO] [stdout] 3307 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3331:5
[INFO] [stdout]      |
[INFO] [stdout] 3331 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3331 -     (__0)
[INFO] [stdout] 3331 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3377:5
[INFO] [stdout]      |
[INFO] [stdout] 3377 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3377 -     (__0)
[INFO] [stdout] 3377 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3533:5
[INFO] [stdout]      |
[INFO] [stdout] 3533 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3533 -     (__0)
[INFO] [stdout] 3533 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3590:5
[INFO] [stdout]      |
[INFO] [stdout] 3590 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3590 -     (__0)
[INFO] [stdout] 3590 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3658:5
[INFO] [stdout]      |
[INFO] [stdout] 3658 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3658 -     (__0)
[INFO] [stdout] 3658 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3671:5
[INFO] [stdout]      |
[INFO] [stdout] 3671 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3671 -     (__0)
[INFO] [stdout] 3671 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3708:5
[INFO] [stdout]      |
[INFO] [stdout] 3708 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3708 -     (__0)
[INFO] [stdout] 3708 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3719:5
[INFO] [stdout]      |
[INFO] [stdout] 3719 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3719 -     (__0)
[INFO] [stdout] 3719 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3730:5
[INFO] [stdout]      |
[INFO] [stdout] 3730 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3730 -     (__0)
[INFO] [stdout] 3730 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3962:5
[INFO] [stdout]      |
[INFO] [stdout] 3962 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3962 -     (__0)
[INFO] [stdout] 3962 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4020:5
[INFO] [stdout]      |
[INFO] [stdout] 4020 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 4020 -     (__0)
[INFO] [stdout] 4020 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4078:5
[INFO] [stdout]      |
[INFO] [stdout] 4078 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 4078 -     (__0)
[INFO] [stdout] 4078 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedExecutor = Box<ExecutorInbox>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedExecutor = Box<dyn ExecutorInbox>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedExecutor2 = Box<Executor2Inbox>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedExecutor2 = Box<dyn Executor2Inbox>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> executor/src/lua/mod.rs:144:48
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn stream(code: &String, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn stream(code: &String, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:48:52
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:90:40
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> executor/src/r4l/mod.rs:215:46
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn stream(code: &Code, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn stream(code: &Code, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3178:36
[INFO] [stdout]      |
[INFO] [stdout] 3178 |             let __text = self.text.trim_left();
[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] 3178 -             let __text = self.text.trim_left();
[INFO] [stdout] 3178 +             let __text = self.text.trim_start();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> executor/src/lua/mod.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value, rlua::Error> {
[INFO] [stdout]    |                ^^^^                        ----- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value<'_>, rlua::Error> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling operation v1.0.0 (/opt/rustwide/workdir/operation)
[INFO] [stdout] warning: suffixes on a tuple index are invalid
[INFO] [stdout]   --> operation/src/clumper_options.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Validates)]
[INFO] [stdout]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stdout]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stdout]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stdout]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suffixes on a tuple index are invalid
[INFO] [stdout]   --> operation/src/sort_options.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Validates)]
[INFO] [stdout]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stdout]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stdout]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stdout]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |     bucket: Box<SortBucket>,
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     bucket: Box<dyn SortBucket>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/lib.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StreamWrapper(Box<Fn() -> Stream + Send + Sync>);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StreamWrapper(Box<dyn Fn() -> Stream + Send + Sync>);
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/lib.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type BoxedOperation = Box<OperationInbox>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type BoxedOperation = Box<dyn OperationInbox>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/to_table.rs:98:60
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/from_multi_regex.rs:77:63
[INFO] [stdout]    |
[INFO] [stdout] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/clumper_options.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<dyn Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:75:31
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<dyn SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> operation/src/eval.rs:116:20
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let f: Box<FnMut(Record) -> Record>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let f: Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling r4 v1.0.0 (/opt/rustwide/workdir/r4)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.16.2, rlua v0.15.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "ff4b7cbdd07840cf13b2ad22258527c549a568a7497edd874e8a9cbd93e24084", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff4b7cbdd07840cf13b2ad22258527c549a568a7497edd874e8a9cbd93e24084", kill_on_drop: false }`
[INFO] [stdout] ff4b7cbdd07840cf13b2ad22258527c549a568a7497edd874e8a9cbd93e24084
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bd158b0f23caa7ce5e7f2d0ba131ecd5ca9b0f3aa46b117a7aa3c95903debbf1
[INFO] running `Command { std: "docker" "start" "-a" "bd158b0f23caa7ce5e7f2d0ba131ecd5ca9b0f3aa46b117a7aa3c95903debbf1", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/record/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/deaggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/validates/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/stream/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/clumper/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/executor/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/opts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/aggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/wns/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/sorts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/misc/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/r4/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/bgop/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/validates_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry_args_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/operation/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry_args/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> opts/src/parser.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | type CbMany<P> = PointerRc<Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | type CbMany<P> = PointerRc<dyn Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> opts/src/parser.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | type CbOne<P> = PointerRc<Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | type CbOne<P> = PointerRc<dyn Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling registry_args_derive v1.0.0 (/opt/rustwide/workdir/registry_args_derive)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Stream(Box<StreamTrait>);
[INFO] [stdout]    |                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Stream(Box<dyn StreamTrait>);
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn write(&mut self, r: Entry, w: &mut FnMut(Entry) -> bool) -> bool;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn write(&mut self, r: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:30:39
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool);
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:114:52
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:114:97
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:121:43
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:125:39
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:120:80
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:131:55
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:131:110
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut dyn FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn close(self, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn close(self, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling validates_derive v1.0.0 (/opt/rustwide/workdir/validates_derive)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> bgop/src/lib.rs:79:87
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut FnMut(Entry) -> bool) -> R {
[INFO] [stdout]    |                                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut dyn FnMut(Entry) -> bool) -> R {
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bgop/src/lib.rs:118:43
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bgop/src/lib.rs:133:41
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn close(self: Box<BgopFe>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn close(self: Box<BgopFe>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bgop v1.0.0 (/opt/rustwide/workdir/bgop)
[INFO] [stderr]    Compiling stream v1.0.0 (/opt/rustwide/workdir/stream)
[INFO] [stderr]    Compiling record v1.0.0 (/opt/rustwide/workdir/record)
[INFO] [stderr]    Compiling opts v1.0.0 (/opt/rustwide/workdir/opts)
[INFO] [stderr]    Compiling registry_args v1.0.0 (/opt/rustwide/workdir/registry_args)
[INFO] [stderr]    Compiling validates v1.0.0 (/opt/rustwide/workdir/validates)
[INFO] [stderr]    Compiling misc v1.0.0 (/opt/rustwide/workdir/misc)
[INFO] [stderr]    Compiling wns v1.0.0 (/opt/rustwide/workdir/wns)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Stream(Box<StreamTrait>);
[INFO] [stdout]    |                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Stream(Box<dyn StreamTrait>);
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn write(&mut self, r: Entry, w: &mut FnMut(Entry) -> bool) -> bool;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn write(&mut self, r: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:30:39
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool);
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:114:52
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> bgop/src/lib.rs:79:87
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut FnMut(Entry) -> bool) -> R {
[INFO] [stdout]    |                                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut dyn FnMut(Entry) -> bool) -> R {
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:114:97
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> {
[INFO] [stdout]     |                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:121:43
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:125:39
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:120:80
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:131:55
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> stream/src/lib.rs:131:110
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut dyn FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> stream/src/lib.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn close(self, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn close(self, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bgop/src/lib.rs:118:43
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bgop/src/lib.rs:133:41
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn close(self: Box<BgopFe>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn close(self: Box<BgopFe>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> opts/src/parser.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | type CbMany<P> = PointerRc<Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | type CbMany<P> = PointerRc<dyn Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> opts/src/parser.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | type CbOne<P> = PointerRc<Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | type CbOne<P> = PointerRc<dyn Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling registry v1.0.0 (/opt/rustwide/workdir/registry)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> registry/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     init: Box<Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     init: Box<dyn Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> registry/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     init: Box<Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     init: Box<dyn Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clumper v1.0.0 (/opt/rustwide/workdir/clumper)
[INFO] [stderr]    Compiling aggregator v1.0.0 (/opt/rustwide/workdir/aggregator)
[INFO] [stderr]    Compiling deaggregator v1.0.0 (/opt/rustwide/workdir/deaggregator)
[INFO] [stderr]    Compiling executor v1.0.0 (/opt/rustwide/workdir/executor)
[INFO] [stderr]    Compiling sorts v1.0.0 (/opt/rustwide/workdir/sorts)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedClumper = Box<ClumperInbox>;
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedClumper = Box<dyn ClumperInbox>;
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/key.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:33:40
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn stream(a: &Self::Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn stream(a: &Self::Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/round_robin.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/window.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:52:31
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<dyn Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<dyn SortBucket>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map: BTreeMap<T, Box<SortBucket>>,
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map: BTreeMap<T, Box<dyn SortBucket>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:77
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stdout]    |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:68
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type BoxedSort = Box<SortInbox>;
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type BoxedSort = Box<dyn SortInbox>;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:31
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:64
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:68
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:52
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:64
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:85
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> deaggregator/src/lib.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type BoxedDeaggregator = Box<DeaggregatorInbox>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type BoxedDeaggregator = Box<dyn DeaggregatorInbox>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:51
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:63
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:84
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/bucket.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new() -> Box<SortBucket> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new() -> Box<dyn SortBucket> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> aggregator/src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedAggregator = Box<AggregatorInbox>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedAggregator = Box<dyn AggregatorInbox>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedClumper = Box<ClumperInbox>;
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedClumper = Box<dyn ClumperInbox>;
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/key.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:33:40
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn stream(a: &Self::Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn stream(a: &Self::Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> deaggregator/src/lib.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type BoxedDeaggregator = Box<DeaggregatorInbox>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type BoxedDeaggregator = Box<dyn DeaggregatorInbox>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/round_robin.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/window.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:52:31
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<dyn Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     next: Rc<Fn() -> Box<dyn SortBucket>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map: BTreeMap<T, Box<SortBucket>>,
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map: BTreeMap<T, Box<dyn SortBucket>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:36:77
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stdout]    |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:40:68
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type BoxedSort = Box<SortInbox>;
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub type BoxedSort = Box<dyn SortInbox>;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:31
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/bucket.rs:72:64
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/lib.rs:55:68
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:52
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:64
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/lib.rs:111:85
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> aggregator/src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedAggregator = Box<AggregatorInbox>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedAggregator = Box<dyn AggregatorInbox>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:51
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:63
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sorts/src/shuffle.rs:77:84
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stdout]    |                                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> sorts/src/bucket.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new() -> Box<SortBucket> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new() -> Box<dyn SortBucket> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> clumper/src/lib.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3225:5
[INFO] [stdout]      |
[INFO] [stdout] 3225 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3225 -     (__0)
[INFO] [stdout] 3225 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3281:5
[INFO] [stdout]      |
[INFO] [stdout] 3281 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3281 -     (__0)
[INFO] [stdout] 3281 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3307:5
[INFO] [stdout]      |
[INFO] [stdout] 3307 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3307 -     (__0)
[INFO] [stdout] 3307 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3331:5
[INFO] [stdout]      |
[INFO] [stdout] 3331 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3331 -     (__0)
[INFO] [stdout] 3331 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3377:5
[INFO] [stdout]      |
[INFO] [stdout] 3377 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3377 -     (__0)
[INFO] [stdout] 3377 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3533:5
[INFO] [stdout]      |
[INFO] [stdout] 3533 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3533 -     (__0)
[INFO] [stdout] 3533 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3590:5
[INFO] [stdout]      |
[INFO] [stdout] 3590 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3590 -     (__0)
[INFO] [stdout] 3590 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3658:5
[INFO] [stdout]      |
[INFO] [stdout] 3658 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3658 -     (__0)
[INFO] [stdout] 3658 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3671:5
[INFO] [stdout]      |
[INFO] [stdout] 3671 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3671 -     (__0)
[INFO] [stdout] 3671 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3708:5
[INFO] [stdout]      |
[INFO] [stdout] 3708 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3708 -     (__0)
[INFO] [stdout] 3708 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3719:5
[INFO] [stdout]      |
[INFO] [stdout] 3719 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3719 -     (__0)
[INFO] [stdout] 3719 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3730:5
[INFO] [stdout]      |
[INFO] [stdout] 3730 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3730 -     (__0)
[INFO] [stdout] 3730 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3962:5
[INFO] [stdout]      |
[INFO] [stdout] 3962 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3962 -     (__0)
[INFO] [stdout] 3962 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4020:5
[INFO] [stdout]      |
[INFO] [stdout] 4020 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 4020 -     (__0)
[INFO] [stdout] 4020 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4078:5
[INFO] [stdout]      |
[INFO] [stdout] 4078 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 4078 -     (__0)
[INFO] [stdout] 4078 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3225:5
[INFO] [stdout]      |
[INFO] [stdout] 3225 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3225 -     (__0)
[INFO] [stdout] 3225 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3281:5
[INFO] [stdout]      |
[INFO] [stdout] 3281 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3281 -     (__0)
[INFO] [stdout] 3281 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3307:5
[INFO] [stdout]      |
[INFO] [stdout] 3307 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3307 -     (__0)
[INFO] [stdout] 3307 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3331:5
[INFO] [stdout]      |
[INFO] [stdout] 3331 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3331 -     (__0)
[INFO] [stdout] 3331 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3377:5
[INFO] [stdout]      |
[INFO] [stdout] 3377 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3377 -     (__0)
[INFO] [stdout] 3377 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3533:5
[INFO] [stdout]      |
[INFO] [stdout] 3533 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3533 -     (__0)
[INFO] [stdout] 3533 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3590:5
[INFO] [stdout]      |
[INFO] [stdout] 3590 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3590 -     (__0)
[INFO] [stdout] 3590 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3658:5
[INFO] [stdout]      |
[INFO] [stdout] 3658 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3658 -     (__0)
[INFO] [stdout] 3658 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3671:5
[INFO] [stdout]      |
[INFO] [stdout] 3671 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3671 -     (__0)
[INFO] [stdout] 3671 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3708:5
[INFO] [stdout]      |
[INFO] [stdout] 3708 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3708 -     (__0)
[INFO] [stdout] 3708 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3719:5
[INFO] [stdout]      |
[INFO] [stdout] 3719 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3719 -     (__0)
[INFO] [stdout] 3719 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3730:5
[INFO] [stdout]      |
[INFO] [stdout] 3730 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3730 -     (__0)
[INFO] [stdout] 3730 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3962:5
[INFO] [stdout]      |
[INFO] [stdout] 3962 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 3962 -     (__0)
[INFO] [stdout] 3962 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4020:5
[INFO] [stdout]      |
[INFO] [stdout] 4020 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 4020 -     (__0)
[INFO] [stdout] 4020 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4078:5
[INFO] [stdout]      |
[INFO] [stdout] 4078 |     (__0)
[INFO] [stdout]      |     ^   ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 4078 -     (__0)
[INFO] [stdout] 4078 +     __0
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedExecutor = Box<ExecutorInbox>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedExecutor = Box<dyn ExecutorInbox>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedExecutor2 = Box<Executor2Inbox>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedExecutor2 = Box<dyn Executor2Inbox>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> executor/src/lua/mod.rs:144:48
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn stream(code: &String, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn stream(code: &String, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:48:52
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:90:40
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> executor/src/r4l/mod.rs:215:46
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn stream(code: &Code, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn stream(code: &Code, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedExecutor = Box<ExecutorInbox>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type BoxedExecutor = Box<dyn ExecutorInbox>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedExecutor2 = Box<Executor2Inbox>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type BoxedExecutor2 = Box<dyn Executor2Inbox>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> executor/src/lua/mod.rs:144:48
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn stream(code: &String, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn stream(code: &String, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:48:52
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> executor/src/lib.rs:90:40
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> executor/src/r4l/mod.rs:215:46
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn stream(code: &Code, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn stream(code: &Code, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3178:36
[INFO] [stdout]      |
[INFO] [stdout] 3178 |             let __text = self.text.trim_left();
[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] 3178 -             let __text = self.text.trim_left();
[INFO] [stdout] 3178 +             let __text = self.text.trim_start();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3178:36
[INFO] [stdout]      |
[INFO] [stdout] 3178 |             let __text = self.text.trim_left();
[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] 3178 -             let __text = self.text.trim_left();
[INFO] [stdout] 3178 +             let __text = self.text.trim_start();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> executor/src/lua/mod.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value, rlua::Error> {
[INFO] [stdout]    |                ^^^^                        ----- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value<'_>, rlua::Error> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> executor/src/lua/mod.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value, rlua::Error> {
[INFO] [stdout]    |                ^^^^                        ----- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value<'_>, rlua::Error> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling operation v1.0.0 (/opt/rustwide/workdir/operation)
[INFO] [stdout] warning: suffixes on a tuple index are invalid
[INFO] [stdout]   --> operation/src/clumper_options.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Validates)]
[INFO] [stdout]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stdout]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stdout]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stdout]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suffixes on a tuple index are invalid
[INFO] [stdout]   --> operation/src/sort_options.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Validates)]
[INFO] [stdout]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stdout]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stdout]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stdout]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |     bucket: Box<SortBucket>,
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     bucket: Box<dyn SortBucket>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/lib.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StreamWrapper(Box<Fn() -> Stream + Send + Sync>);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StreamWrapper(Box<dyn Fn() -> Stream + Send + Sync>);
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/lib.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type BoxedOperation = Box<OperationInbox>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type BoxedOperation = Box<dyn OperationInbox>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/to_table.rs:98:60
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/from_multi_regex.rs:77:63
[INFO] [stdout]    |
[INFO] [stdout] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/clumper_options.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<dyn Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:75:31
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<dyn SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> operation/src/eval.rs:116:20
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let f: Box<FnMut(Record) -> Record>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let f: Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suffixes on a tuple index are invalid
[INFO] [stdout]   --> operation/src/clumper_options.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Validates)]
[INFO] [stdout]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stdout]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stdout]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stdout]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suffixes on a tuple index are invalid
[INFO] [stdout]   --> operation/src/sort_options.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Validates)]
[INFO] [stdout]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stdout]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stdout]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stdout]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |     bucket: Box<SortBucket>,
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     bucket: Box<dyn SortBucket>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/lib.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StreamWrapper(Box<Fn() -> Stream + Send + Sync>);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StreamWrapper(Box<dyn Fn() -> Stream + Send + Sync>);
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/lib.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type BoxedOperation = Box<OperationInbox>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type BoxedOperation = Box<dyn OperationInbox>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/to_table.rs:98:60
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/from_multi_regex.rs:77:63
[INFO] [stdout]    |
[INFO] [stdout] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/clumper_options.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<dyn Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> operation/src/sort_options.rs:75:31
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let f: Rc<Fn() -> Box<dyn SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> operation/src/eval.rs:116:20
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let f: Box<FnMut(Record) -> Record>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let f: Box<dyn FnMut(Record) -> Record>;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling r4 v1.0.0 (/opt/rustwide/workdir/r4)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 51.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.16.2, rlua v0.15.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "bd158b0f23caa7ce5e7f2d0ba131ecd5ca9b0f3aa46b117a7aa3c95903debbf1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd158b0f23caa7ce5e7f2d0ba131ecd5ca9b0f3aa46b117a7aa3c95903debbf1", kill_on_drop: false }`
[INFO] [stdout] bd158b0f23caa7ce5e7f2d0ba131ecd5ca9b0f3aa46b117a7aa3c95903debbf1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a8fd02f43030d040b631efd53915e1a9c96573f9f93701aef72851d3cf39f5c0
[INFO] running `Command { std: "docker" "start" "-a" "a8fd02f43030d040b631efd53915e1a9c96573f9f93701aef72851d3cf39f5c0", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/record/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry_args_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/misc/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/stream/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/aggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/deaggregator/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/validates/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/sorts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry_args/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/bgop/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/r4/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/executor/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/operation/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/clumper/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/opts/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/validates_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/registry/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/wns/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> opts/src/parser.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 | type CbMany<P> = PointerRc<Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stderr]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 9 | type CbMany<P> = PointerRc<dyn Fn(&mut P, &[String]) -> ValidationResult<()>>;
[INFO] [stderr]   |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> opts/src/parser.rs:10:27
[INFO] [stderr]    |
[INFO] [stderr] 10 | type CbOne<P> = PointerRc<Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 10 | type CbOne<P> = PointerRc<dyn Fn(&mut P, &str) -> ValidationResult<bool>>;
[INFO] [stderr]    |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: `opts` (lib) generated 2 warnings (run `cargo fix --lib -p opts` to apply 2 suggestions)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> registry/src/lib.rs:22:15
[INFO] [stderr]    |
[INFO] [stderr] 22 |     init: Box<Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 |     init: Box<dyn Fn(&[&str]) -> ValidationResult<R> + Send + Sync>,
[INFO] [stderr]    |               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> stream/src/lib.rs:33:23
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct Stream(Box<StreamTrait>);
[INFO] [stderr]    |                       ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct Stream(Box<dyn StreamTrait>);
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> stream/src/lib.rs:29:43
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn write(&mut self, r: Entry, w: &mut FnMut(Entry) -> bool) -> bool;
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn write(&mut self, r: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool;
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> stream/src/lib.rs:30:39
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool);
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool);
[INFO] [stderr]    |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:114:52
[INFO] [stderr]     |
[INFO] [stderr] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stderr]     |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:114:97
[INFO] [stderr]     |
[INFO] [stderr] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> {
[INFO] [stderr]     |                                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 114 | struct ClosuresStream<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> {
[INFO] [stderr]     |                                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:121:43
[INFO] [stderr]     |
[INFO] [stderr] 121 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 121 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:125:39
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn close(self: Box<Self>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn close(self: Box<Self>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stderr]     |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:120:35
[INFO] [stderr]     |
[INFO] [stderr] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 120 | impl<S, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:120:80
[INFO] [stderr]     |
[INFO] [stderr] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W...
[INFO] [stderr]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 120 | impl<S, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool, C: Fn(S, &mut dyn FnMut(Entry) -> bool)> StreamTrait for ClosuresStream<S, W, C> {
[INFO] [stderr]     |                                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:131:55
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut dyn FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stderr]     |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> stream/src/lib.rs:131:110
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut FnMut(Entry) -> bool) + 'sta...
[INFO] [stderr]     |                                                                                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub fn closures<S: 'static, W: Fn(&mut S, Entry, &mut FnMut(Entry) -> bool) -> bool + 'static, C: Fn(S, &mut dyn FnMut(Entry) -> bool) + 'static>(s: S, w: W, c: C) -> Stream {
[INFO] [stderr]     |                                                                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> stream/src/lib.rs:40:47
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> stream/src/lib.rs:49:32
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn close(self, w: &mut FnMut(Entry) -> bool) {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn close(self, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: `registry` (lib) generated 1 warning (run `cargo fix --lib -p registry` to apply 1 suggestion)
[INFO] [stderr] warning: `stream` (lib) generated 13 warnings (run `cargo fix --lib -p stream` to apply 13 suggestions)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> deaggregator/src/lib.rs:16:34
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type BoxedDeaggregator = Box<DeaggregatorInbox>;
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type BoxedDeaggregator = Box<dyn DeaggregatorInbox>;
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/lib.rs:19:29
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub type BoxedClumper = Box<ClumperInbox>;
[INFO] [stderr]    |                             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub type BoxedClumper = Box<dyn ClumperInbox>;
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/key.rs:25:48
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn stream(a: &OneKeyRegistryArgs, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/lib.rs:33:40
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn stream(a: &Self::Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn stream(a: &Self::Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/round_robin.rs:27:34
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/window.rs:29:34
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn stream(a: &Args, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn stream(a: &Args, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/lib.rs:37:31
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/lib.rs:52:31
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn stream(&self, bsw: Box<Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn stream(&self, bsw: Box<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream>) -> Stream {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> clumper/src/lib.rs:86:21
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stderr]    |                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: `deaggregator` (lib) generated 1 warning (run `cargo fix --lib -p deaggregator` to apply 1 suggestion)
[INFO] [stderr] warning: `clumper` (lib) generated 8 warnings (run `cargo fix --lib -p clumper` to apply 8 suggestions)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/bucket.rs:36:14
[INFO] [stderr]    |
[INFO] [stderr] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |     next: Rc<dyn Fn() -> Box<SortBucket>>,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/bucket.rs:36:26
[INFO] [stderr]    |
[INFO] [stderr] 36 |     next: Rc<Fn() -> Box<SortBucket>>,
[INFO] [stderr]    |                          ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |     next: Rc<Fn() -> Box<dyn SortBucket>>,
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/bucket.rs:37:26
[INFO] [stderr]    |
[INFO] [stderr] 37 |     map: BTreeMap<T, Box<SortBucket>>,
[INFO] [stderr]    |                          ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 |     map: BTreeMap<T, Box<dyn SortBucket>>,
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:36:44
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn new_bucket(a: &Self::Args, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:36:56
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                                        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:36:77
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                                                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn new_bucket(a: &Self::Args, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stderr]    |                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:40:35
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:40:47
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:40:68
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket>;
[INFO] [stderr]    |                                                                    ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket>;
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:22:26
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub type BoxedSort = Box<SortInbox>;
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub type BoxedSort = Box<dyn SortInbox>;
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/bucket.rs:72:31
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn new(f: F, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/bucket.rs:72:43
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                           ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/bucket.rs:72:64
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                                ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn new(f: F, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn new_bucket(&self, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:55:47
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/lib.rs:55:68
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                                    ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn new_bucket(&self, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> sorts/src/lib.rs:111:52
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]     |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> sorts/src/lib.rs:111:64
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> sorts/src/lib.rs:111:85
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn new_bucket(a: &OneKeyRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stderr]     |                                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/shuffle.rs:77:51
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<dyn Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/shuffle.rs:77:63
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<dyn SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sorts/src/shuffle.rs:77:84
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<SortBucket> {
[INFO] [stderr]    |                                                                                    ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn new_bucket(_a: &ZeroRegistryArgs, next: Rc<Fn() -> Box<SortBucket>>) -> Box<dyn SortBucket> {
[INFO] [stderr]    |                                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> sorts/src/bucket.rs:102:25
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub fn new() -> Box<SortBucket> {
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub fn new() -> Box<dyn SortBucket> {
[INFO] [stderr]     |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> aggregator/src/lib.rs:18:32
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type BoxedAggregator = Box<AggregatorInbox>;
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type BoxedAggregator = Box<dyn AggregatorInbox>;
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> bgop/src/lib.rs:79:87
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut FnMut(Entry) -> bool) -> R {
[INFO] [stderr]    |                                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn ferry<R, F: FnMut(bool, &mut BgopState) -> Option<R>>(&self, mut f: F, w: &mut dyn FnMut(Entry) -> bool) -> R {
[INFO] [stderr]    |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bgop/src/lib.rs:118:43
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn write(&mut self, e: Entry, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn write(&mut self, e: Entry, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bgop/src/lib.rs:133:41
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn close(self: Box<BgopFe>, w: &mut FnMut(Entry) -> bool) {
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn close(self: Box<BgopFe>, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: `sorts` (lib) generated 23 warnings (run `cargo fix --lib -p sorts` to apply 23 suggestions)
[INFO] [stderr] warning: `aggregator` (lib) generated 1 warning (run `cargo fix --lib -p aggregator` to apply 1 suggestion)
[INFO] [stderr] warning: `bgop` (lib) generated 3 warnings (run `cargo fix --lib -p bgop` to apply 3 suggestions)
[INFO] [stderr] warning: `sorts` (lib test) generated 23 warnings (23 duplicates)
[INFO] [stderr] warning: `aggregator` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `bgop` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr] warning: `clumper` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: `deaggregator` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `registry` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `stream` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr] warning: `opts` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3225:5
[INFO] [stderr]      |
[INFO] [stderr] 3225 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3225 -     (__0)
[INFO] [stderr] 3225 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3281:5
[INFO] [stderr]      |
[INFO] [stderr] 3281 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3281 -     (__0)
[INFO] [stderr] 3281 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3307:5
[INFO] [stderr]      |
[INFO] [stderr] 3307 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3307 -     (__0)
[INFO] [stderr] 3307 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3331:5
[INFO] [stderr]      |
[INFO] [stderr] 3331 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3331 -     (__0)
[INFO] [stderr] 3331 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3377:5
[INFO] [stderr]      |
[INFO] [stderr] 3377 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3377 -     (__0)
[INFO] [stderr] 3377 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3533:5
[INFO] [stderr]      |
[INFO] [stderr] 3533 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3533 -     (__0)
[INFO] [stderr] 3533 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3590:5
[INFO] [stderr]      |
[INFO] [stderr] 3590 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3590 -     (__0)
[INFO] [stderr] 3590 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3658:5
[INFO] [stderr]      |
[INFO] [stderr] 3658 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3658 -     (__0)
[INFO] [stderr] 3658 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3671:5
[INFO] [stderr]      |
[INFO] [stderr] 3671 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3671 -     (__0)
[INFO] [stderr] 3671 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3708:5
[INFO] [stderr]      |
[INFO] [stderr] 3708 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3708 -     (__0)
[INFO] [stderr] 3708 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3719:5
[INFO] [stderr]      |
[INFO] [stderr] 3719 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3719 -     (__0)
[INFO] [stderr] 3719 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3730:5
[INFO] [stderr]      |
[INFO] [stderr] 3730 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3730 -     (__0)
[INFO] [stderr] 3730 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3962:5
[INFO] [stderr]      |
[INFO] [stderr] 3962 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3962 -     (__0)
[INFO] [stderr] 3962 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4020:5
[INFO] [stderr]      |
[INFO] [stderr] 4020 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 4020 -     (__0)
[INFO] [stderr] 4020 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4078:5
[INFO] [stderr]      |
[INFO] [stderr] 4078 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 4078 -     (__0)
[INFO] [stderr] 4078 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> executor/src/lib.rs:18:30
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type BoxedExecutor = Box<ExecutorInbox>;
[INFO] [stderr]    |                              ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type BoxedExecutor = Box<dyn ExecutorInbox>;
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> executor/src/lib.rs:19:31
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub type BoxedExecutor2 = Box<Executor2Inbox>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub type BoxedExecutor2 = Box<dyn Executor2Inbox>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> executor/src/lua/mod.rs:144:48
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn stream(code: &String, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn stream(code: &String, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> executor/src/lib.rs:48:52
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn stream(code: &Self::Code, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> executor/src/lib.rs:32:40
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record>;
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record>;
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> executor/src/lib.rs:90:40
[INFO] [stderr]    |
[INFO] [stderr] 90 |     fn stream(&self, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 90 |     fn stream(&self, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> executor/src/r4l/mod.rs:215:46
[INFO] [stderr]     |
[INFO] [stderr] 215 |     fn stream(code: &Code, ret: bool) -> Box<FnMut(Record) -> Record> {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 215 |     fn stream(code: &Code, ret: bool) -> Box<dyn FnMut(Record) -> Record> {
[INFO] [stderr]     |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3178:36
[INFO] [stderr]      |
[INFO] [stderr] 3178 |             let __text = self.text.trim_left();
[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] 3178 -             let __text = self.text.trim_left();
[INFO] [stderr] 3178 +             let __text = self.text.trim_start();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> executor/src/lua/mod.rs:71:16
[INFO] [stderr]    |
[INFO] [stderr] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value, rlua::Error> {
[INFO] [stderr]    |                ^^^^                        ----- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                |
[INFO] [stderr]    |                this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 71 | fn to_lua(lua: &Lua, r: MRecord) -> Result<Value<'_>, rlua::Error> {
[INFO] [stderr]    |                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `executor` (lib) generated 24 warnings (run `cargo fix --lib -p executor` to apply 23 suggestions)
[INFO] [stderr] warning: `executor` (lib test) generated 24 warnings (24 duplicates)
[INFO] [stderr] warning: suffixes on a tuple index are invalid
[INFO] [stderr]   --> operation/src/clumper_options.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(Validates)]
[INFO] [stderr]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stderr]    |
[INFO] [stderr]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stderr]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stderr]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stderr]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: suffixes on a tuple index are invalid
[INFO] [stderr]   --> operation/src/sort_options.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive(Validates)]
[INFO] [stderr]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stderr]    |
[INFO] [stderr]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stderr]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stderr]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stderr]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/sort_options.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |     bucket: Box<SortBucket>,
[INFO] [stderr]    |                 ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 39 |     bucket: Box<dyn SortBucket>,
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/lib.rs:77:30
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct StreamWrapper(Box<Fn() -> Stream + Send + Sync>);
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct StreamWrapper(Box<dyn Fn() -> Stream + Send + Sync>);
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/lib.rs:47:31
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub type BoxedOperation = Box<OperationInbox>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub type BoxedOperation = Box<dyn OperationInbox>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/to_table.rs:98:60
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]    |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub fn dump_table(rows: &Vec<Vec<(String, char)>>, w: &mut dyn FnMut(Entry) -> bool) -> bool {
[INFO] [stderr]    |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/from_multi_regex.rs:77:63
[INFO] [stderr]    |
[INFO] [stderr] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut FnMut(Entry) -> bool) {
[INFO] [stderr]    |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 77 |             fn flush(&mut self, o: &OptionsValidated, w: &mut dyn FnMut(Entry) -> bool) {
[INFO] [stderr]    |                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/clumper_options.rs:34:25
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut bsw: Rc<Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut bsw: Rc<dyn Fn(Vec<(Arc<str>, Record)>) -> Stream> = Rc::new(f);
[INFO] [stderr]    |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/sort_options.rs:75:19
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let f: Rc<dyn Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> operation/src/sort_options.rs:75:31
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let f: Rc<Fn() -> Box<SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let f: Rc<Fn() -> Box<dyn SortBucket>> = Rc::new(VecDequeSortBucket::new);
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> operation/src/eval.rs:116:20
[INFO] [stderr]     |
[INFO] [stderr] 116 |         let f: Box<FnMut(Record) -> Record>;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 116 |         let f: Box<dyn FnMut(Record) -> Record>;
[INFO] [stderr]     |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: `operation` (lib) generated 11 warnings (run `cargo fix --lib -p operation` to apply 9 suggestions)
[INFO] [stderr] warning: `operation` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.16.2, rlua v0.15.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aggregator-4102bb27a4c152f6)
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bgop-343372212882359a)
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/clumper-d99f184de165b8f4)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/deaggregator-ac1589f52ef4a483)
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/executor-de15561aae73ff93)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test lua::tests::test_arr ... ok
[INFO] [stdout] test lua::tests::test_assign_hash ... ok
[INFO] [stdout] test lua::tests::test_fp ... ok
[INFO] [stdout] test lua::tests::test_reassign_ud ... ok
[INFO] [stdout] test lua::tests::test_deep_index ... ok
[INFO] [stdout] test lua::tests::test_simple ... ok
[INFO] [stdout] test lua::tests::test_tables_suck ... ok
[INFO] [stdout] test r4l::tests::test_deep_index ... ok
[INFO] [stdout] test r4l::tests::test_simple ... ok
[INFO] [stdout] test r4l::tests::test_del ... ok
[INFO] [stdout] test r4l::tests::test_vars ... ok
[INFO] [stdout] test r4l::tests::test_diamond ... ok
[INFO] [stdout] test r4l::tests::test_reassign ... ok
[INFO] [stdout] test lua::tests::test_to_lua ... ok
[INFO] [stdout] test r4l::tests::test_assign_hash ... ok
[INFO] [stdout] test r4l::tests::test_get_fill ... ok
[INFO] [stdout] test r4l::tests::test_array_literal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/misc-ceceff86d4301a34)
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/operation-d6077cf2a09c2cba)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/opts-ff7434d424adc5c5)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/r4-a55a7100346ae1f8)
[INFO] [stdout] 
[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] [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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/record-5c1636bb804a8af1)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::test_serde ... ok
[INFO] [stdout] test tests::test_get_path ... ok
[INFO] [stdout] test tests::test_set_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/registry-859b83ad2980ef5d)
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/registry_args-5ab967404d25e034)
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/registry_args_derive-baa85a02638cf758)
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sorts-e812da9b888e4cf2)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/stream-3426a5f26a68dbd6)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/validates-01b0627452fb1093)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/validates_derive-5aab8fa42a28c2ba)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wns-a5ce211a3df922d0)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests aggregator
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 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] [stderr]    Doc-tests bgop
[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] [stderr]    Doc-tests clumper
[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] [stderr]    Doc-tests deaggregator
[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] [stderr]    Doc-tests executor
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3225:5
[INFO] [stderr]      |
[INFO] [stderr] 3225 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3225 -     (__0)
[INFO] [stderr] 3225 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3281:5
[INFO] [stderr]      |
[INFO] [stderr] 3281 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3281 -     (__0)
[INFO] [stderr] 3281 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3307:5
[INFO] [stderr]      |
[INFO] [stderr] 3307 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3307 -     (__0)
[INFO] [stderr] 3307 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3331:5
[INFO] [stderr]      |
[INFO] [stderr] 3331 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3331 -     (__0)
[INFO] [stderr] 3331 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3377:5
[INFO] [stderr]      |
[INFO] [stderr] 3377 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3377 -     (__0)
[INFO] [stderr] 3377 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3533:5
[INFO] [stderr]      |
[INFO] [stderr] 3533 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3533 -     (__0)
[INFO] [stderr] 3533 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3590:5
[INFO] [stderr]      |
[INFO] [stderr] 3590 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3590 -     (__0)
[INFO] [stderr] 3590 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3658:5
[INFO] [stderr]      |
[INFO] [stderr] 3658 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3658 -     (__0)
[INFO] [stderr] 3658 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3671:5
[INFO] [stderr]      |
[INFO] [stderr] 3671 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3671 -     (__0)
[INFO] [stderr] 3671 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3708:5
[INFO] [stderr]      |
[INFO] [stderr] 3708 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3708 -     (__0)
[INFO] [stderr] 3708 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3719:5
[INFO] [stderr]      |
[INFO] [stderr] 3719 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3719 -     (__0)
[INFO] [stderr] 3719 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3730:5
[INFO] [stderr]      |
[INFO] [stderr] 3730 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3730 -     (__0)
[INFO] [stderr] 3730 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:3962:5
[INFO] [stderr]      |
[INFO] [stderr] 3962 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 3962 -     (__0)
[INFO] [stderr] 3962 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4020:5
[INFO] [stderr]      |
[INFO] [stderr] 4020 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 4020 -     (__0)
[INFO] [stderr] 4020 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/executor-c8998618e06121e5/out/r4l/parse.rs:4078:5
[INFO] [stderr]      |
[INFO] [stderr] 4078 |     (__0)
[INFO] [stderr]      |     ^   ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 4078 -     (__0)
[INFO] [stderr] 4078 +     __0
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: 15 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] [stderr]    Doc-tests misc
[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] [stderr]    Doc-tests operation
[INFO] [stderr] warning: suffixes on a tuple index are invalid
[INFO] [stderr]   --> operation/src/clumper_options.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(Validates)]
[INFO] [stderr]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stderr]    |
[INFO] [stderr]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stderr]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stderr]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stderr]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: suffixes on a tuple index are invalid
[INFO] [stderr]   --> operation/src/sort_options.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive(Validates)]
[INFO] [stderr]    |          ^^^^^^^^^ invalid suffix `usize`
[INFO] [stderr]    |
[INFO] [stderr]    = help: `usize` is *temporarily* accepted on tuple index fields as it was incorrectly accepted on stable for a few releases
[INFO] [stderr]    = help: on proc macros, you'll want to use `syn::Index::from` or `proc_macro::Literal::*_unsuffixed` for code that will desugar to tuple field access
[INFO] [stderr]    = help: see issue #60210 <https://github.com/rust-lang/rust/issues/60210> for more information
[INFO] [stderr]    = note: this warning originates in the derive macro `Validates` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: 2 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] [stderr]    Doc-tests opts
[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] [stderr]    Doc-tests record
[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] [stderr]    Doc-tests registry
[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] [stderr]    Doc-tests registry_args
[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] [stderr]    Doc-tests registry_args_derive
[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] [stderr]    Doc-tests sorts
[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] [stderr]    Doc-tests stream
[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] [stderr]    Doc-tests validates
[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] [stderr]    Doc-tests validates_derive
[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] [stderr]    Doc-tests wns
[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" "a8fd02f43030d040b631efd53915e1a9c96573f9f93701aef72851d3cf39f5c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8fd02f43030d040b631efd53915e1a9c96573f9f93701aef72851d3cf39f5c0", kill_on_drop: false }`
[INFO] [stdout] a8fd02f43030d040b631efd53915e1a9c96573f9f93701aef72851d3cf39f5c0
