[INFO] cloning repository https://github.com/dinowernli/marvin
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dinowernli/marvin" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdinowernli%2Fmarvin", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdinowernli%2Fmarvin'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 23542259fb7998ddf26a6c45d7c05debb18f204b
[INFO] testing dinowernli/marvin/23542259fb7998ddf26a6c45d7c05debb18f204b against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdinowernli%2Fmarvin" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dinowernli/marvin
[INFO] finished tweaking git repo https://github.com/dinowernli/marvin
[INFO] tweaked toml for git repo https://github.com/dinowernli/marvin written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dinowernli/marvin on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dinowernli/marvin 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded log v0.3.2
[INFO] [stderr]   Downloaded rand v0.3.11
[INFO] [stderr]   Downloaded advapi32-sys v0.1.2
[INFO] [stderr]   Downloaded winapi v0.2.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cfa1e1c03586081cea6521a5d5ccd45a5265868be48d5b51436baec3996eeb49
[INFO] running `Command { std: "docker" "start" "-a" "cfa1e1c03586081cea6521a5d5ccd45a5265868be48d5b51436baec3996eeb49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cfa1e1c03586081cea6521a5d5ccd45a5265868be48d5b51436baec3996eeb49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfa1e1c03586081cea6521a5d5ccd45a5265868be48d5b51436baec3996eeb49", kill_on_drop: false }`
[INFO] [stdout] cfa1e1c03586081cea6521a5d5ccd45a5265868be48d5b51436baec3996eeb49
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e0f2dc00b7f2f4a52cbf4f13b1f3e8888f93a74ee426976a3b29557f4351802e
[INFO] running `Command { std: "docker" "start" "-a" "e0f2dc00b7f2f4a52cbf4f13b1f3e8888f93a74ee426976a3b29557f4351802e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling advapi32-sys v0.1.2
[INFO] [stderr]    Compiling libc v0.1.8
[INFO] [stderr]    Compiling winapi v0.2.4
[INFO] [stderr]    Compiling log v0.3.2
[INFO] [stderr]    Compiling rand v0.3.11
[INFO] [stderr]    Compiling ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[macro_use] extern crate log;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |   predictor: Box<Predictor>,
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |   predictor: Box<dyn Predictor>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |   explorer_factory: Box<ExplorerFactory>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   explorer_factory: Box<dyn ExplorerFactory>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/environment.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |   random: &'a mut Random,
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 43 |   random: &'a mut dyn Random,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |   predictor: &'a mut Predictor,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 28 |   predictor: &'a mut dyn Predictor,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/random_explorer.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |   random: Box<Random>
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 28 |   random: Box<dyn Random>
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 |       &self) -> Box<Explorer>;
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self) -> Box<dyn Explorer>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/environment.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |   pub fn new(random: &'a mut Random) -> CoinFlip<'a> {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 54 |   pub fn new(random: &'a mut dyn Random) -> CoinFlip<'a> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   pub fn new(predictor: &mut dyn Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 45 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:45:51
[INFO] [stdout]    |
[INFO] [stdout] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 45 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |   fn create_random_explorer(&self) -> Box<Explorer> {
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   fn create_random_explorer(&self) -> Box<dyn Explorer> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |       predictor: Box<Predictor>,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 56 |       predictor: Box<dyn Predictor>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |       explorer_factory: Box<ExplorerFactory>) -> Self {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 57 |       explorer_factory: Box<dyn ExplorerFactory>) -> Self {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/random_explorer.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(random: Box<Random>) -> RandomExplorer {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   pub fn new(random: Box<dyn Random>) -> RandomExplorer {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `predictor` is never read
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MonteCarloExplorer<'a> {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 28 |   predictor: &'a mut Predictor,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer<'_> {
[INFO] [stdout]    |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.36s
[INFO] running `Command { std: "docker" "inspect" "e0f2dc00b7f2f4a52cbf4f13b1f3e8888f93a74ee426976a3b29557f4351802e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0f2dc00b7f2f4a52cbf4f13b1f3e8888f93a74ee426976a3b29557f4351802e", kill_on_drop: false }`
[INFO] [stdout] e0f2dc00b7f2f4a52cbf4f13b1f3e8888f93a74ee426976a3b29557f4351802e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a0109c93009e5f73a846b04f9d049ddb743a57953cbd2d823da43e1116500f3
[INFO] running `Command { std: "docker" "start" "-a" "7a0109c93009e5f73a846b04f9d049ddb743a57953cbd2d823da43e1116500f3", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[macro_use] extern crate log;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |   predictor: Box<Predictor>,
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |   predictor: Box<dyn Predictor>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |   explorer_factory: Box<ExplorerFactory>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   explorer_factory: Box<dyn ExplorerFactory>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/environment.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |   random: &'a mut Random,
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 43 |   random: &'a mut dyn Random,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |   predictor: &'a mut Predictor,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 28 |   predictor: &'a mut dyn Predictor,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/random_explorer.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |   random: Box<Random>
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 28 |   random: Box<dyn Random>
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 |       &self) -> Box<Explorer>;
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self) -> Box<dyn Explorer>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/environment.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |   pub fn new(random: &'a mut Random) -> CoinFlip<'a> {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 54 |   pub fn new(random: &'a mut dyn Random) -> CoinFlip<'a> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   pub fn new(predictor: &mut dyn Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 45 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:45:51
[INFO] [stdout]    |
[INFO] [stdout] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 45 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |   fn create_random_explorer(&self) -> Box<Explorer> {
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   fn create_random_explorer(&self) -> Box<dyn Explorer> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |       predictor: Box<Predictor>,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 56 |       predictor: Box<dyn Predictor>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |       explorer_factory: Box<ExplorerFactory>) -> Self {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 57 |       explorer_factory: Box<dyn ExplorerFactory>) -> Self {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/random_explorer.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(random: Box<Random>) -> RandomExplorer {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   pub fn new(random: Box<dyn Random>) -> RandomExplorer {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `predictor` is never read
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MonteCarloExplorer<'a> {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 28 |   predictor: &'a mut Predictor,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer<'_> {
[INFO] [stdout]    |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stdout] 65 | |         cycle, action, observation, reward);
[INFO] [stdout]    | |___________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stdout]   --> src/main.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stdout] 70 | |       agent.age(), agent.average_reward());
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[macro_use] extern crate log;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |   predictor: Box<Predictor>,
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |   predictor: Box<dyn Predictor>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |   explorer_factory: Box<ExplorerFactory>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   explorer_factory: Box<dyn ExplorerFactory>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/environment.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |   random: &'a mut Random,
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 43 |   random: &'a mut dyn Random,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |   predictor: &'a mut Predictor,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 28 |   predictor: &'a mut dyn Predictor,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/random_explorer.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |   random: Box<Random>
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 28 |   random: Box<dyn Random>
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 |       &self) -> Box<Explorer>;
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |       &self) -> Box<dyn Explorer>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/environment.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |   pub fn new(random: &'a mut Random) -> CoinFlip<'a> {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 54 |   pub fn new(random: &'a mut dyn Random) -> CoinFlip<'a> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   pub fn new(predictor: &mut dyn Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 45 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:45:51
[INFO] [stdout]    |
[INFO] [stdout] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 45 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/explorer_factory.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |   fn create_random_explorer(&self) -> Box<Explorer> {
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   fn create_random_explorer(&self) -> Box<dyn Explorer> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent_test.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |       &self, predictor: &mut Predictor) -> Box<Explorer> {
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 82 |       &self, predictor: &mut dyn Predictor) -> Box<Explorer> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent_test.rs:82:48
[INFO] [stdout]    |
[INFO] [stdout] 82 |       &self, predictor: &mut Predictor) -> Box<Explorer> {
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 82 |       &self, predictor: &mut Predictor) -> Box<dyn Explorer> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent_test.rs:87:43
[INFO] [stdout]    |
[INFO] [stdout] 87 |   fn create_random_explorer(&self) -> Box<Explorer> {
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 87 |   fn create_random_explorer(&self) -> Box<dyn Explorer> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |       predictor: Box<Predictor>,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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] 56 |       predictor: Box<dyn Predictor>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |       explorer_factory: Box<ExplorerFactory>) -> Self {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 57 |       explorer_factory: Box<dyn ExplorerFactory>) -> Self {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/explorer/random_explorer.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(random: Box<Random>) -> RandomExplorer {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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/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 |   pub fn new(random: Box<dyn Random>) -> RandomExplorer {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `predictor` is never read
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MonteCarloExplorer<'a> {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 28 |   predictor: &'a mut Predictor,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/explorer/monte_carlo_explorer.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer<'_> {
[INFO] [stdout]    |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/predictor/context_tree_test.rs:123:38
[INFO] [stdout]     |
[INFO] [stdout] 123 |   assert!(-tol < diff && diff < tol, message);
[INFO] [stdout]     |                                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 123 |   assert!(-tol < diff && diff < tol, "{}", message);
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] running `Command { std: "docker" "inspect" "7a0109c93009e5f73a846b04f9d049ddb743a57953cbd2d823da43e1116500f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a0109c93009e5f73a846b04f9d049ddb743a57953cbd2d823da43e1116500f3", kill_on_drop: false }`
[INFO] [stdout] 7a0109c93009e5f73a846b04f9d049ddb743a57953cbd2d823da43e1116500f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 473ed1cf956698b9984ee8fca74339ceefe6dd042769bf108bf2e30121bc1d38
[INFO] running `Command { std: "docker" "start" "-a" "473ed1cf956698b9984ee8fca74339ceefe6dd042769bf108bf2e30121bc1d38", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[macro_use] extern crate log;
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:36:18
[INFO] [stderr]    |
[INFO] [stderr] 36 |   predictor: Box<Predictor>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |   predictor: Box<dyn Predictor>,
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:40:25
[INFO] [stderr]    |
[INFO] [stderr] 40 |   explorer_factory: Box<ExplorerFactory>,
[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/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 |   explorer_factory: Box<dyn ExplorerFactory>,
[INFO] [stderr]    |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/environment/environment.rs:43:19
[INFO] [stderr]    |
[INFO] [stderr] 43 |   random: &'a mut Random,
[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/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] 43 |   random: &'a mut dyn Random,
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/monte_carlo_explorer.rs:28:22
[INFO] [stderr]    |
[INFO] [stderr] 28 |   predictor: &'a mut Predictor,
[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/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] 28 |   predictor: &'a mut dyn Predictor,
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/random_explorer.rs:28:15
[INFO] [stderr]    |
[INFO] [stderr] 28 |   random: Box<Random>
[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/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] 28 |   random: Box<dyn Random>
[INFO] [stderr]    |               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/explorer_factory.rs:32:33
[INFO] [stderr]    |
[INFO] [stderr] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[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/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 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a>;
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/explorer_factory.rs:32:51
[INFO] [stderr]    |
[INFO] [stderr] 32 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a>;
[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/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 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a>;
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/explorer_factory.rs:34:21
[INFO] [stderr]    |
[INFO] [stderr] 34 |       &self) -> Box<Explorer>;
[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/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 |       &self) -> Box<dyn Explorer>;
[INFO] [stderr]    |                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/environment/environment.rs:54:30
[INFO] [stderr]    |
[INFO] [stderr] 54 |   pub fn new(random: &'a mut Random) -> CoinFlip<'a> {
[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/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] 54 |   pub fn new(random: &'a mut dyn Random) -> CoinFlip<'a> {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/monte_carlo_explorer.rs:32:30
[INFO] [stderr]    |
[INFO] [stderr] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[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/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 |   pub fn new(predictor: &mut dyn Predictor) -> MonteCarloExplorer {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/explorer_factory.rs:45:33
[INFO] [stderr]    |
[INFO] [stderr] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[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/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] 45 |       &self, predictor: &'a mut dyn Predictor) -> Box<Explorer + 'a> {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/explorer_factory.rs:45:51
[INFO] [stderr]    |
[INFO] [stderr] 45 |       &self, predictor: &'a mut Predictor) -> Box<Explorer + 'a> {
[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/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] 45 |       &self, predictor: &'a mut Predictor) -> Box<dyn Explorer + 'a> {
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/explorer_factory.rs:49:43
[INFO] [stderr]    |
[INFO] [stderr] 49 |   fn create_random_explorer(&self) -> Box<Explorer> {
[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/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 |   fn create_random_explorer(&self) -> Box<dyn Explorer> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:56:22
[INFO] [stderr]    |
[INFO] [stderr] 56 |       predictor: Box<Predictor>,
[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/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] 56 |       predictor: Box<dyn Predictor>,
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:57:29
[INFO] [stderr]    |
[INFO] [stderr] 57 |       explorer_factory: Box<ExplorerFactory>) -> Self {
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/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] 57 |       explorer_factory: Box<dyn ExplorerFactory>) -> Self {
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/explorer/random_explorer.rs:32:26
[INFO] [stderr]    |
[INFO] [stderr] 32 |   pub fn new(random: Box<Random>) -> RandomExplorer {
[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/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 |   pub fn new(random: Box<dyn Random>) -> RandomExplorer {
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: field `predictor` is never read
[INFO] [stderr]   --> src/explorer/monte_carlo_explorer.rs:28:3
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct MonteCarloExplorer<'a> {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] 28 |   predictor: &'a mut Predictor,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/explorer/monte_carlo_explorer.rs:32:25
[INFO] [stderr]    |
[INFO] [stderr] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer {
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 32 |   pub fn new(predictor: &mut Predictor) -> MonteCarloExplorer<'_> {
[INFO] [stderr]    |                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent_test.rs:82:30
[INFO] [stderr]    |
[INFO] [stderr] 82 |       &self, predictor: &mut Predictor) -> Box<Explorer> {
[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/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] 82 |       &self, predictor: &mut dyn Predictor) -> Box<Explorer> {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent_test.rs:82:48
[INFO] [stderr]    |
[INFO] [stderr] 82 |       &self, predictor: &mut Predictor) -> Box<Explorer> {
[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/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] 82 |       &self, predictor: &mut Predictor) -> Box<dyn Explorer> {
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent_test.rs:87:43
[INFO] [stderr]    |
[INFO] [stderr] 87 |   fn create_random_explorer(&self) -> Box<Explorer> {
[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/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] 87 |   fn create_random_explorer(&self) -> Box<dyn Explorer> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/predictor/context_tree_test.rs:123:38
[INFO] [stderr]     |
[INFO] [stderr] 123 |   assert!(-tol < diff && diff < tol, message);
[INFO] [stderr]     |                                      ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 123 |   assert!(-tol < diff && diff < tol, "{}", message);
[INFO] [stderr]     |                                      +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ai` (lib) generated 19 warnings (run `cargo fix --lib -p ai` to apply 17 suggestions)
[INFO] [stderr] warning: `ai` (lib test) generated 23 warnings (19 duplicates) (run `cargo fix --lib -p ai --tests` to apply 4 suggestions)
[INFO] [stderr] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stderr]   --> src/main.rs:55:3
[INFO] [stderr]    |
[INFO] [stderr] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stderr]   --> src/main.rs:55:3
[INFO] [stderr]    |
[INFO] [stderr] 55 |   info!("Starting simulation with {} cycles", n_cycles);
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stderr]   --> src/main.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | /     info!("Cycle: {}, [{:?}, {:?}, {:?}]",
[INFO] [stderr] 65 | |         cycle, action, observation, reward);
[INFO] [stderr]    | |___________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `log_level`
[INFO] [stderr]   --> src/main.rs:69:3
[INFO] [stderr]    |
[INFO] [stderr] 69 | /   info!("The average reward after {} rounds is {:?}",
[INFO] [stderr] 70 | |       agent.age(), agent.average_reward());
[INFO] [stderr]    | |__________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `log` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the macro `log` may come from an old version of the `log` crate, try updating your dependency with `cargo update -p log`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `ai` (bin "ai" test) generated 15 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai-e994537e0bf6e839)
[INFO] [stdout] running 18 tests
[INFO] [stdout] test agent_test::reward ... ok
[INFO] [stdout] test agent_test::age ... ok
[INFO] [stdout] test bitstring_test::empty ... ok
[INFO] [stdout] test bitstring_test::from_u64 ... ok
[INFO] [stdout] test bitstring_test::from_string ... ok
[INFO] [stdout] test bitstring_test::size ... ok
[INFO] [stdout] test bitstring_test::zero ... ok
[INFO] [stdout] test explorer::random_explorer_test::explore ... ok
[INFO] [stdout] test predictor::context_tree_test::empty_size ... ok
[INFO] [stdout] test predictor::context_tree_test::noop_revert_is_valid ... ok
[INFO] [stdout] test predictor::context_tree_test::size ... ok
[INFO] [stdout] test predictor::context_tree_test::predict_empty ... ok
[INFO] [stdout] test predictor::context_tree_test::revert_restores_state ... ok
[INFO] [stdout] test predictor::context_tree_test::predict_uniform ... ok
[INFO] [stdout] test predictor::context_tree_test::predict_with_history ... ok
[INFO] [stdout] test predictor::context_tree_test::revert_restores_size ... ok
[INFO] [stdout] test predictor::context_tree_test::invalid_revert - should panic ... ok
[INFO] [stdout] test bitstring_test::append ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ai-b6970ae34eb6ebfe)
[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 ai
[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" "473ed1cf956698b9984ee8fca74339ceefe6dd042769bf108bf2e30121bc1d38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "473ed1cf956698b9984ee8fca74339ceefe6dd042769bf108bf2e30121bc1d38", kill_on_drop: false }`
[INFO] [stdout] 473ed1cf956698b9984ee8fca74339ceefe6dd042769bf108bf2e30121bc1d38
