[INFO] cloning repository https://github.com/furarox/libtree [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/furarox/libtree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurarox%2Flibtree", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurarox%2Flibtree'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d67b42fd07a02da8a022c6af9918383d96dc08e0 [INFO] checking furarox/libtree against try#8c500c7cefd54fd11d57295f3771d576be9ee415 for pr-145113 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurarox%2Flibtree" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/furarox/libtree [INFO] finished tweaking git repo https://github.com/furarox/libtree [INFO] tweaked toml for git repo https://github.com/furarox/libtree written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/furarox/libtree on toolchain 8c500c7cefd54fd11d57295f3771d576be9ee415 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/furarox/libtree already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 00b3d4d6592e3659700bb9856f650c7c630e08a88334ad93cf550448fed02636 [INFO] running `Command { std: "docker" "start" "-a" "00b3d4d6592e3659700bb9856f650c7c630e08a88334ad93cf550448fed02636", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "00b3d4d6592e3659700bb9856f650c7c630e08a88334ad93cf550448fed02636", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00b3d4d6592e3659700bb9856f650c7c630e08a88334ad93cf550448fed02636", kill_on_drop: false }` [INFO] [stdout] 00b3d4d6592e3659700bb9856f650c7c630e08a88334ad93cf550448fed02636 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+8c500c7cefd54fd11d57295f3771d576be9ee415" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7a4e4d9c06a5e0474d1be5ee2e681484ce4a4acbe5571b815981d9c1fdf20149 [INFO] running `Command { std: "docker" "start" "-a" "7a4e4d9c06a5e0474d1be5ee2e681484ce4a4acbe5571b815981d9c1fdf20149", kill_on_drop: false }` [INFO] [stderr] Checking libtree v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[deny(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 110 | unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 137 | self.current = (&(*self.current.as_ptr()).childs)[index]; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:320:21 [INFO] [stdout] | [INFO] [stdout] 320 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:320:21 [INFO] [stdout] | [INFO] [stdout] 320 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 320 | unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 342 | unsafe { &mut (*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:369:28 [INFO] [stdout] | [INFO] [stdout] 369 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:369:28 [INFO] [stdout] | [INFO] [stdout] 369 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 369 | self.current = (&(*self.current.as_ptr()).childs)[index]; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:748:21 [INFO] [stdout] | [INFO] [stdout] 748 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:748:21 [INFO] [stdout] | [INFO] [stdout] 748 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 748 | unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:776:25 [INFO] [stdout] | [INFO] [stdout] 776 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:776:25 [INFO] [stdout] | [INFO] [stdout] 776 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 776 | unsafe { &mut (*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:803:28 [INFO] [stdout] | [INFO] [stdout] 803 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:803:28 [INFO] [stdout] | [INFO] [stdout] 803 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 803 | self.current = (&(*self.current.as_ptr()).childs)[index]; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | unsafe { &(*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^------------------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | unsafe { &(*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 299 | unsafe { &(*(&(*self.current.unwrap().as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | unsafe { &mut (*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^------------------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | unsafe { &mut (*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 327 | unsafe { &mut (*(&(*self.current.unwrap().as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:775:36 [INFO] [stdout] | [INFO] [stdout] 775 | let item = unsafe { &(*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:775:36 [INFO] [stdout] | [INFO] [stdout] 775 | let item = unsafe { &(*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 775 | let item = unsafe { &(*(&(*self.current.as_ptr()).childs)[self.i].as_ptr()).elem }; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:795:40 [INFO] [stdout] | [INFO] [stdout] 795 | let item = unsafe { &mut (*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:795:40 [INFO] [stdout] | [INFO] [stdout] 795 | let item = unsafe { &mut (*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 795 | let item = unsafe { &mut (*(&(*self.current.as_ptr()).childs)[self.i].as_ptr()).elem }; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `libtree` (lib) due to 12 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[deny(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 110 | unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 137 | self.current = (&(*self.current.as_ptr()).childs)[index]; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:320:21 [INFO] [stdout] | [INFO] [stdout] 320 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:320:21 [INFO] [stdout] | [INFO] [stdout] 320 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 320 | unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 342 | unsafe { &mut (*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:369:28 [INFO] [stdout] | [INFO] [stdout] 369 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:369:28 [INFO] [stdout] | [INFO] [stdout] 369 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 369 | self.current = (&(*self.current.as_ptr()).childs)[index]; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:748:21 [INFO] [stdout] | [INFO] [stdout] 748 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:748:21 [INFO] [stdout] | [INFO] [stdout] 748 | unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 748 | unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:776:25 [INFO] [stdout] | [INFO] [stdout] 776 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:776:25 [INFO] [stdout] | [INFO] [stdout] 776 | unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 776 | unsafe { &mut (*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/cursor.rs:803:28 [INFO] [stdout] | [INFO] [stdout] 803 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/cursor.rs:803:28 [INFO] [stdout] | [INFO] [stdout] 803 | self.current = (*self.current.as_ptr()).childs[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 803 | self.current = (&(*self.current.as_ptr()).childs)[index]; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | unsafe { &(*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^------------------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | unsafe { &(*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 299 | unsafe { &(*(&(*self.current.unwrap().as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | unsafe { &mut (*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^------------------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | unsafe { &mut (*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 327 | unsafe { &mut (*(&(*self.current.unwrap().as_ptr()).childs)[index].as_ptr()).elem } [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:775:36 [INFO] [stdout] | [INFO] [stdout] 775 | let item = unsafe { &(*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:775:36 [INFO] [stdout] | [INFO] [stdout] 775 | let item = unsafe { &(*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 775 | let item = unsafe { &(*(&(*self.current.as_ptr()).childs)[self.i].as_ptr()).elem }; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/tree.rs:795:40 [INFO] [stdout] | [INFO] [stdout] 795 | let item = unsafe { &mut (*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^---------------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec>>` [INFO] [stdout] --> src/tree.rs:795:40 [INFO] [stdout] | [INFO] [stdout] 795 | let item = unsafe { &mut (*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 795 | let item = unsafe { &mut (*(&(*self.current.as_ptr()).childs)[self.i].as_ptr()).elem }; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `libtree` (lib test) due to 12 previous errors [INFO] running `Command { std: "docker" "inspect" "7a4e4d9c06a5e0474d1be5ee2e681484ce4a4acbe5571b815981d9c1fdf20149", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a4e4d9c06a5e0474d1be5ee2e681484ce4a4acbe5571b815981d9c1fdf20149", kill_on_drop: false }` [INFO] [stdout] 7a4e4d9c06a5e0474d1be5ee2e681484ce4a4acbe5571b815981d9c1fdf20149