[INFO] fetching crate charcoal 1.1.0...
[INFO] testing charcoal-1.1.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate charcoal 1.1.0 into /workspace/builds/worker-13/source
[INFO] validating manifest of crates.io crate charcoal 1.1.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate charcoal 1.1.0
[INFO] finished tweaking crates.io crate charcoal 1.1.0
[INFO] tweaked toml for crates.io crate charcoal 1.1.0 written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ca8a56d87f90135e0f0e4cf48af90356274977cf495a63938fa4f0442ce2924
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7ca8a56d87f90135e0f0e4cf48af90356274977cf495a63938fa4f0442ce2924", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ca8a56d87f90135e0f0e4cf48af90356274977cf495a63938fa4f0442ce2924", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ca8a56d87f90135e0f0e4cf48af90356274977cf495a63938fa4f0442ce2924", kill_on_drop: false }`
[INFO] [stdout] 7ca8a56d87f90135e0f0e4cf48af90356274977cf495a63938fa4f0442ce2924
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e0ecce9243d7ed185afe37cebd09c200fd7f2fb4daefb63f64bc6e3eecefd7b4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e0ecce9243d7ed185afe37cebd09c200fd7f2fb4daefb63f64bc6e3eecefd7b4", kill_on_drop: false }`
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling tinyvec v1.3.1
[INFO] [stderr]    Compiling granite v1.1.1
[INFO] [stderr]    Compiling charcoal v1.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/binary_tree/node_ref_mut.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 72:23...
[INFO] [stdout]   --> src/binary_tree/node_ref_mut.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn parent_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]   --> src/binary_tree/node_ref_mut.rs:76:37
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 33:6...
[INFO] [stdout]   --> src/binary_tree/node_ref_mut.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]    |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/binary_tree/node_ref_mut.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `binary_tree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]               found `binary_tree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 134:27...
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:134:27
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn left_child_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]     |                           ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:149:37
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 33:6...
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:33:6
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `binary_tree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]                found `binary_tree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 158:28...
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:158:28
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn right_child_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:172:37
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 33:6...
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:33:6
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/binary_tree/node_ref_mut.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `binary_tree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]                found `binary_tree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/octree/node_ref_mut.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 64:23...
[INFO] [stdout]   --> src/octree/node_ref_mut.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn parent_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]   --> src/octree/node_ref_mut.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 25:6...
[INFO] [stdout]   --> src/octree/node_ref_mut.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]    |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/octree/node_ref_mut.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `octree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]               found `octree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/octree/node_ref_mut.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |             Self::new_raw_unchecked(self.tree, child.clone())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 173:26...
[INFO] [stdout]    --> src/octree/node_ref_mut.rs:173:26
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn nth_child_mut(&mut self, n: u8) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]    --> src/octree/node_ref_mut.rs:198:37
[INFO] [stdout]     |
[INFO] [stdout] 198 |             Self::new_raw_unchecked(self.tree, child.clone())
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 25:6...
[INFO] [stdout]    --> src/octree/node_ref_mut.rs:25:6
[INFO] [stdout]     |
[INFO] [stdout] 25  | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/octree/node_ref_mut.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |             Self::new_raw_unchecked(self.tree, child.clone())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `octree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]                found `octree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/quadtree/node_ref_mut.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 64:23...
[INFO] [stdout]   --> src/quadtree/node_ref_mut.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn parent_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]   --> src/quadtree/node_ref_mut.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 25:6...
[INFO] [stdout]   --> src/quadtree/node_ref_mut.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]    |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/quadtree/node_ref_mut.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `quadtree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]               found `quadtree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/quadtree/node_ref_mut.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |             Self::new_raw_unchecked(self.tree, child.clone())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 179:26...
[INFO] [stdout]    --> src/quadtree/node_ref_mut.rs:179:26
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn nth_child_mut(&mut self, n: u8) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]    --> src/quadtree/node_ref_mut.rs:205:37
[INFO] [stdout]     |
[INFO] [stdout] 205 |             Self::new_raw_unchecked(self.tree, child.clone())
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 25:6...
[INFO] [stdout]    --> src/quadtree/node_ref_mut.rs:25:6
[INFO] [stdout]     |
[INFO] [stdout] 25  | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/quadtree/node_ref_mut.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |             Self::new_raw_unchecked(self.tree, child.clone())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `quadtree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]                found `quadtree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/freeform_tree/node_ref_mut.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 82:23...
[INFO] [stdout]   --> src/freeform_tree/node_ref_mut.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn parent_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]   --> src/freeform_tree/node_ref_mut.rs:86:37
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 36:6...
[INFO] [stdout]   --> src/freeform_tree/node_ref_mut.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]    |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/freeform_tree/node_ref_mut.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `freeform_tree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]               found `freeform_tree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 97:29...
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:97:29
[INFO] [stdout]     |
[INFO] [stdout] 97  |     pub fn prev_sibling_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 36:6...
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:36:6
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `freeform_tree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]                found `freeform_tree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 114:29...
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn next_sibling_mut(&mut self) -> Option<NodeRefMut<'_, B, L, K, S>> {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] note: ...so that reference does not outlive borrowed content
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 36:6...
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:36:6
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, B, L, K, S> NodeRefMut<'a, B, L, K, S>
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/freeform_tree/node_ref_mut.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Self::new_raw_unchecked(self.tree, x)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `freeform_tree::node_ref_mut::NodeRefMut<'_, _, _, _, _>`
[INFO] [stdout]                found `freeform_tree::node_ref_mut::NodeRefMut<'a, _, _, _, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0495`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `charcoal`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "e0ecce9243d7ed185afe37cebd09c200fd7f2fb4daefb63f64bc6e3eecefd7b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0ecce9243d7ed185afe37cebd09c200fd7f2fb4daefb63f64bc6e3eecefd7b4", kill_on_drop: false }`
[INFO] [stdout] e0ecce9243d7ed185afe37cebd09c200fd7f2fb4daefb63f64bc6e3eecefd7b4
