[INFO] fetching crate charcoal 1.1.0... [INFO] checking charcoal-1.1.0 against try#ddfd70ee3c3748e597b32f416b0d15a4f6e37685 for pr-87050 [INFO] extracting crate charcoal 1.1.0 into /workspace/builds/worker-7/source [INFO] validating manifest of crates.io crate charcoal 1.1.0 on toolchain ddfd70ee3c3748e597b32f416b0d15a4f6e37685 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "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-7/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded granite v1.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] eae2b7d273a42eb98bfff7abc8b8ec9211402017a3425052e9cca04a218a33eb [INFO] running `Command { std: "docker" "start" "-a" "eae2b7d273a42eb98bfff7abc8b8ec9211402017a3425052e9cca04a218a33eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eae2b7d273a42eb98bfff7abc8b8ec9211402017a3425052e9cca04a218a33eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eae2b7d273a42eb98bfff7abc8b8ec9211402017a3425052e9cca04a218a33eb", kill_on_drop: false }` [INFO] [stdout] eae2b7d273a42eb98bfff7abc8b8ec9211402017a3425052e9cca04a218a33eb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 793e5c9698af0e35486f1c94eda5ae7bb8aeb48c560e62db62d4ab7e2d86d0db [INFO] running `Command { std: "docker" "start" "-a" "793e5c9698af0e35486f1c94eda5ae7bb8aeb48c560e62db62d4ab7e2d86d0db", kill_on_drop: false }` [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking tinyvec v1.3.0 [INFO] [stderr] Checking granite v1.1.1 [INFO] [stderr] Checking 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> { [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> { [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: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> { [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: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> { [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/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> { [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> { [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> { [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> { [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/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> { [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> { [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> { [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> { [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/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> { [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> { [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> { [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> { [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> { [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[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> { [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> { [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> { [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] [stderr] warning: build failed, waiting for other jobs to finish... [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: build failed [INFO] running `Command { std: "docker" "inspect" "793e5c9698af0e35486f1c94eda5ae7bb8aeb48c560e62db62d4ab7e2d86d0db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "793e5c9698af0e35486f1c94eda5ae7bb8aeb48c560e62db62d4ab7e2d86d0db", kill_on_drop: false }` [INFO] [stdout] 793e5c9698af0e35486f1c94eda5ae7bb8aeb48c560e62db62d4ab7e2d86d0db