[INFO] crate moonlander-gp 0.1.1 is already in cache
[INFO] checking moonlander-gp-0.1.1 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate moonlander-gp 0.1.1 into /workspace/builds/worker-0/source
[INFO] validating manifest of crates.io crate moonlander-gp 0.1.1 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate moonlander-gp 0.1.1
[INFO] finished tweaking crates.io crate moonlander-gp 0.1.1
[INFO] tweaked toml for crates.io crate moonlander-gp 0.1.1 written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] a9dff17e82adc1a1d620d2ce81f9340d60f525b91dba3a95e5803584f716d058
[INFO] running `"docker" "start" "-a" "a9dff17e82adc1a1d620d2ce81f9340d60f525b91dba3a95e5803584f716d058"`
[INFO] [stderr]     Checking deque v0.3.2
[INFO] [stderr]     Checking downcast v0.6.0
[INFO] [stderr]     Checking rayon v0.4.3
[INFO] [stderr]     Checking moonlander-gp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:82:40
[INFO] [stderr]     |
[INFO] [stderr] 82  |               fn children(&self) -> Vec<&$crate::AstNode> {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr] ...
[INFO] [stderr] 126 | /     impl_astnode!(Tree, 666,
[INFO] [stderr] 127 | |                   leaf Leaf((data d |rng: &mut ::rand::Rng| (rng.next_u32() % 100) as i32)),
[INFO] [stderr] 128 | |                   int Node(left, right));
[INFO] [stderr]     | |_________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:92:50
[INFO] [stderr]     |
[INFO] [stderr] 92  |               fn replace_child(&self, _old_child: &$crate::AstNode, _new_child: &mut Option<Box<$crate::AstNode>>) -> Box<$crate::AstNode> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr] ...
[INFO] [stderr] 126 | /     impl_astnode!(Tree, 666,
[INFO] [stderr] 127 | |                   leaf Leaf((data d |rng: &mut ::rand::Rng| (rng.next_u32() % 100) as i32)),
[INFO] [stderr] 128 | |                   int Node(left, right));
[INFO] [stderr]     | |_________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:92:95
[INFO] [stderr]     |
[INFO] [stderr] 92  |               fn replace_child(&self, _old_child: &$crate::AstNode, _new_child: &mut Option<Box<$crate::AstNode>>) -> Box<$crate::AstNode> {
[INFO] [stderr]     |                                                                                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr] ...
[INFO] [stderr] 126 | /     impl_astnode!(Tree, 666,
[INFO] [stderr] 127 | |                   leaf Leaf((data d |rng: &mut ::rand::Rng| (rng.next_u32() % 100) as i32)),
[INFO] [stderr] 128 | |                   int Node(left, right));
[INFO] [stderr]     | |_________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:92:121
[INFO] [stderr]     |
[INFO] [stderr] 92  |               fn replace_child(&self, _old_child: &$crate::AstNode, _new_child: &mut Option<Box<$crate::AstNode>>) -> Box<$crate::AstNode> {
[INFO] [stderr]     |                                                                                                                           ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr] ...
[INFO] [stderr] 126 | /     impl_astnode!(Tree, 666,
[INFO] [stderr] 127 | |                   leaf Leaf((data d |rng: &mut ::rand::Rng| (rng.next_u32() % 100) as i32)),
[INFO] [stderr] 128 | |                   int Node(left, right));
[INFO] [stderr]     | |_________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:104:61
[INFO] [stderr]     |
[INFO] [stderr] 104 |               fn rand(weights: $crate::NodeWeights, rng: &mut ::rand::Rng) -> $enum_name {
[INFO] [stderr]     |                                                               ^^^^^^^^^^^ help: use `dyn`: `dyn (::rand::Rng)`
[INFO] [stderr] ...
[INFO] [stderr] 126 | /     impl_astnode!(Tree, 666,
[INFO] [stderr] 127 | |                   leaf Leaf((data d |rng: &mut ::rand::Rng| (rng.next_u32() % 100) as i32)),
[INFO] [stderr] 128 | |                   int Node(left, right));
[INFO] [stderr]     | |_________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:127:48
[INFO] [stderr]     |
[INFO] [stderr] 127 |                   leaf Leaf((data d |rng: &mut ::rand::Rng| (rng.next_u32() % 100) as i32)),
[INFO] [stderr]     |                                                ^^^^^^^^^^^ help: use `dyn`: `dyn (::rand::Rng)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:141:42
[INFO] [stderr]     |
[INFO] [stderr] 141 |         let mut replacement : Option<Box<AstNode>> = Some(Box::new(Tree::Leaf(2)));
[INFO] [stderr]     |                                          ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:14:32
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn children(&self) -> Vec<&AstNode>;
[INFO] [stderr]    |                                ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:17:41
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode>;
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:17:77
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode>;
[INFO] [stderr]    |                                                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:17:95
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode>;
[INFO] [stderr]    |                                                                                               ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:21:19
[INFO] [stderr]    |
[INFO] [stderr] 21 | downcast_methods!(AstNode);
[INFO] [stderr]    |                   ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:34:49
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode>;
[INFO] [stderr]    |                                                 ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:34:61
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode>;
[INFO] [stderr]    |                                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:43:27
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn copy(&self) -> Box<AstNode>;
[INFO] [stderr]    |                           ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:48:27
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn copy(&self) -> Box<AstNode> { Box::new(self.clone()) }
[INFO] [stderr]    |                           ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:55:21
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub fn depth(node: &AstNode) -> usize {
[INFO] [stderr]    |                     ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:63:19
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub node: &'a AstNode,
[INFO] [stderr]    |                   ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:68:45
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn find_nodes_and_parents<'a>(root: &'a AstNode) -> Vec<Rc<NodeInTree<'a>>> {
[INFO] [stderr]    |                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:79:48
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn find_nodes_and_parents_into<'a>(parent: &'a AstNode,
[INFO] [stderr]    |                                                ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:95:45
[INFO] [stderr]    |
[INFO] [stderr] 95 | fn same_node<T: AstNode>(node1: &T, node2: &AstNode) -> bool {
[INFO] [stderr]    |                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:108:66
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub fn clone_or_replace<T: AstNode+Clone>(child: &T, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<T> {
[INFO] [stderr]     |                                                                  ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:108:102
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub fn clone_or_replace<T: AstNode+Clone>(child: &T, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<T> {
[INFO] [stderr]     |                                                                                                      ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:117:73
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn replace_to_root<T: AstNode>(nap: &Rc<NodeInTree>, new_child: Box<AstNode>) -> Box<T> {
[INFO] [stderr]     |                                                                         ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:122:84
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn do_replace_to_root<T: AstNode>(nap: &Rc<NodeInTree>, new_child: &mut Option<Box<AstNode>>) -> Box<T> {
[INFO] [stderr]     |                                                                                    ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:150:36
[INFO] [stderr]     |
[INFO] [stderr] 150 |         fn children(&self) -> Vec<&AstNode> {
[INFO] [stderr]     |                                    ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:158:45
[INFO] [stderr]     |
[INFO] [stderr] 158 |         fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode> {
[INFO] [stderr]     |                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:158:81
[INFO] [stderr]     |
[INFO] [stderr] 158 |         fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode> {
[INFO] [stderr]     |                                                                                 ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:158:99
[INFO] [stderr]     |
[INFO] [stderr] 158 |         fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode> {
[INFO] [stderr]     |                                                                                                   ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:171:42
[INFO] [stderr]     |
[INFO] [stderr] 171 |         fn mutate(&self, _: i32, _: &mut Rng) -> Box<AstNode> {
[INFO] [stderr]     |                                          ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:171:54
[INFO] [stderr]     |
[INFO] [stderr] 171 |         fn mutate(&self, _: i32, _: &mut Rng) -> Box<AstNode> {
[INFO] [stderr]     |                                                      ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:176:38
[INFO] [stderr]     |
[INFO] [stderr] 176 |     fn expect_node(value: u32, ast: &AstNode) {
[INFO] [stderr]     |                                      ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:212:69
[INFO] [stderr]     |
[INFO] [stderr] 212 |         let mut new_child = Some(Box::new(TestNode::Leaf(3)) as Box<AstNode>);
[INFO] [stderr]     |                                                                     ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/population.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 |         where S: Fn(&P, &mut Rng) -> F + Sync
[INFO] [stderr]    |                              ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/population.rs:46:55
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn score<S>(&mut self, scoring_fn: S, _: &mut Rng)
[INFO] [stderr]    |                                                       ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:16:45
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn rand(weights: NodeWeights, rng: &mut Rng) -> Self;
[INFO] [stderr]    |                                             ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:20:49
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode> {
[INFO] [stderr]    |                                                 ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:20:61
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode> {
[INFO] [stderr]    |                                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:80:50
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn randomized(max_height: i32, rng: &mut Rng) -> NodeWeights {
[INFO] [stderr]    |                                                  ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:96:52
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub fn gen_child<P: RandNode>(&self, rng: &mut Rng) -> Box<P> {
[INFO] [stderr]    |                                                    ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:82:40
[INFO] [stderr]     |
[INFO] [stderr] 82  |               fn children(&self) -> Vec<&$crate::AstNode> {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/random_pop.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | /     impl_astnode!(List, 0,
[INFO] [stderr] 121 | |                   int Cons(next),
[INFO] [stderr] 122 | |                   leaf Nil());
[INFO] [stderr]     | |______________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:92:50
[INFO] [stderr]     |
[INFO] [stderr] 92  |               fn replace_child(&self, _old_child: &$crate::AstNode, _new_child: &mut Option<Box<$crate::AstNode>>) -> Box<$crate::AstNode> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/random_pop.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | /     impl_astnode!(List, 0,
[INFO] [stderr] 121 | |                   int Cons(next),
[INFO] [stderr] 122 | |                   leaf Nil());
[INFO] [stderr]     | |______________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:92:95
[INFO] [stderr]     |
[INFO] [stderr] 92  |               fn replace_child(&self, _old_child: &$crate::AstNode, _new_child: &mut Option<Box<$crate::AstNode>>) -> Box<$crate::AstNode> {
[INFO] [stderr]     |                                                                                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/random_pop.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | /     impl_astnode!(List, 0,
[INFO] [stderr] 121 | |                   int Cons(next),
[INFO] [stderr] 122 | |                   leaf Nil());
[INFO] [stderr]     | |______________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:92:121
[INFO] [stderr]     |
[INFO] [stderr] 92  |               fn replace_child(&self, _old_child: &$crate::AstNode, _new_child: &mut Option<Box<$crate::AstNode>>) -> Box<$crate::AstNode> {
[INFO] [stderr]     |                                                                                                                           ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::AstNode`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/random_pop.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | /     impl_astnode!(List, 0,
[INFO] [stderr] 121 | |                   int Cons(next),
[INFO] [stderr] 122 | |                   leaf Nil());
[INFO] [stderr]     | |______________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/impl_astnode.rs:104:61
[INFO] [stderr]     |
[INFO] [stderr] 104 |               fn rand(weights: $crate::NodeWeights, rng: &mut ::rand::Rng) -> $enum_name {
[INFO] [stderr]     |                                                               ^^^^^^^^^^^ help: use `dyn`: `dyn (::rand::Rng)`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/random_pop.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | /     impl_astnode!(List, 0,
[INFO] [stderr] 121 | |                   int Cons(next),
[INFO] [stderr] 122 | |                   leaf Nil());
[INFO] [stderr]     | |______________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/genetic/select.rs:7:100
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn tournament_selection<'a, P, F>(tournament_size: usize, pop: &'a Population<P, F>, rng: &mut Rng) -> &'a P
[INFO] [stderr]   |                                                                                                    ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/genetic/evolve.rs:24:52
[INFO] [stderr]    |
[INFO] [stderr] 24 |           S: for<'a> Fn(&'a Population<P, F>, &mut Rng) -> &'a P
[INFO] [stderr]    |                                                    ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:14:32
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn children(&self) -> Vec<&AstNode>;
[INFO] [stderr]    |                                ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:17:41
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode>;
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:17:77
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode>;
[INFO] [stderr]    |                                                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:17:95
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn replace_child(&self, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<AstNode>;
[INFO] [stderr]    |                                                                                               ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:21:19
[INFO] [stderr]    |
[INFO] [stderr] 21 | downcast_methods!(AstNode);
[INFO] [stderr]    |                   ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:34:49
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode>;
[INFO] [stderr]    |                                                 ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:34:61
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode>;
[INFO] [stderr]    |                                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:43:27
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn copy(&self) -> Box<AstNode>;
[INFO] [stderr]    |                           ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:48:27
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn copy(&self) -> Box<AstNode> { Box::new(self.clone()) }
[INFO] [stderr]    |                           ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:55:21
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub fn depth(node: &AstNode) -> usize {
[INFO] [stderr]    |                     ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:63:19
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub node: &'a AstNode,
[INFO] [stderr]    |                   ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:68:45
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn find_nodes_and_parents<'a>(root: &'a AstNode) -> Vec<Rc<NodeInTree<'a>>> {
[INFO] [stderr]    |                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:79:48
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn find_nodes_and_parents_into<'a>(parent: &'a AstNode,
[INFO] [stderr]    |                                                ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ast.rs:95:45
[INFO] [stderr]    |
[INFO] [stderr] 95 | fn same_node<T: AstNode>(node1: &T, node2: &AstNode) -> bool {
[INFO] [stderr]    |                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:108:66
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub fn clone_or_replace<T: AstNode+Clone>(child: &T, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<T> {
[INFO] [stderr]     |                                                                  ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:108:102
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub fn clone_or_replace<T: AstNode+Clone>(child: &T, old_child: &AstNode, new_child: &mut Option<Box<AstNode>>) -> Box<T> {
[INFO] [stderr]     |                                                                                                      ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:117:73
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn replace_to_root<T: AstNode>(nap: &Rc<NodeInTree>, new_child: Box<AstNode>) -> Box<T> {
[INFO] [stderr]     |                                                                         ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:122:84
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn do_replace_to_root<T: AstNode>(nap: &Rc<NodeInTree>, new_child: &mut Option<Box<AstNode>>) -> Box<T> {
[INFO] [stderr]     |                                                                                    ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/population.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 |         where S: Fn(&P, &mut Rng) -> F + Sync
[INFO] [stderr]    |                              ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/population.rs:46:55
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn score<S>(&mut self, scoring_fn: S, _: &mut Rng)
[INFO] [stderr]    |                                                       ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:16:45
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn rand(weights: NodeWeights, rng: &mut Rng) -> Self;
[INFO] [stderr]    |                                             ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:20:49
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode> {
[INFO] [stderr]    |                                                 ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:20:61
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn mutate(&self, max_height: i32, rng: &mut Rng) -> Box<AstNode> {
[INFO] [stderr]    |                                                             ^^^^^^^ help: use `dyn`: `dyn AstNode`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:80:50
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn randomized(max_height: i32, rng: &mut Rng) -> NodeWeights {
[INFO] [stderr]    |                                                  ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/random_pop.rs:96:52
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub fn gen_child<P: RandNode>(&self, rng: &mut Rng) -> Box<P> {
[INFO] [stderr]    |                                                    ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/genetic/select.rs:7:100
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn tournament_selection<'a, P, F>(tournament_size: usize, pop: &'a Population<P, F>, rng: &mut Rng) -> &'a P
[INFO] [stderr]   |                                                                                                    ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/genetic/evolve.rs:24:52
[INFO] [stderr]    |
[INFO] [stderr] 24 |           S: for<'a> Fn(&'a Population<P, F>, &mut Rng) -> &'a P
[INFO] [stderr]    |                                                    ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> examples/santa_fe_ant.rs:47:43
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn score_ant(program: &Statement, _: &mut Rng) -> SimpleFitness {
[INFO] [stderr]    |                                           ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.61s
[INFO] running `"docker" "inspect" "a9dff17e82adc1a1d620d2ce81f9340d60f525b91dba3a95e5803584f716d058"`
[INFO] running `"docker" "rm" "-f" "a9dff17e82adc1a1d620d2ce81f9340d60f525b91dba3a95e5803584f716d058"`
[INFO] [stdout] a9dff17e82adc1a1d620d2ce81f9340d60f525b91dba3a95e5803584f716d058
