[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] testing furarox/libtree against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurarox%2Flibtree" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/furarox/libtree on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627
[INFO] running `Command { std: "docker" "start" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libtree v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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: `#[warn(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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] running `Command { std: "docker" "inspect" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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: `#[warn(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] [stderr]    Compiling libtree v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] [stdout] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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: `#[warn(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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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] warning: 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<T>`
[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<NonNull<Node<T>>>`
[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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.58s
[INFO] running `Command { std: "docker" "inspect" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:110:21
[INFO] [stderr]     |
[INFO] [stderr] 110 |         unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:110:21
[INFO] [stderr]     |
[INFO] [stderr] 110 |         unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 110 |         unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                     ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:137:28
[INFO] [stderr]     |
[INFO] [stderr] 137 |             self.current = (*self.current.as_ptr()).childs[index];
[INFO] [stderr]     |                            ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:137:28
[INFO] [stderr]     |
[INFO] [stderr] 137 |             self.current = (*self.current.as_ptr()).childs[index];
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 137 |             self.current = (&(*self.current.as_ptr()).childs)[index];
[INFO] [stderr]     |                            ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:320:21
[INFO] [stderr]     |
[INFO] [stderr] 320 |         unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:320:21
[INFO] [stderr]     |
[INFO] [stderr] 320 |         unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 320 |         unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                     ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:342:25
[INFO] [stderr]     |
[INFO] [stderr] 342 |         unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                         ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:342:25
[INFO] [stderr]     |
[INFO] [stderr] 342 |         unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 342 |         unsafe { &mut (*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                         ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:369:28
[INFO] [stderr]     |
[INFO] [stderr] 369 |             self.current = (*self.current.as_ptr()).childs[index];
[INFO] [stderr]     |                            ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:369:28
[INFO] [stderr]     |
[INFO] [stderr] 369 |             self.current = (*self.current.as_ptr()).childs[index];
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 369 |             self.current = (&(*self.current.as_ptr()).childs)[index];
[INFO] [stderr]     |                            ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:748:21
[INFO] [stderr]     |
[INFO] [stderr] 748 |         unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:748:21
[INFO] [stderr]     |
[INFO] [stderr] 748 |         unsafe { &(*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 748 |         unsafe { &(*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                     ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:776:25
[INFO] [stderr]     |
[INFO] [stderr] 776 |         unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                         ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:776:25
[INFO] [stderr]     |
[INFO] [stderr] 776 |         unsafe { &mut (*(*self.current.as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 776 |         unsafe { &mut (*(&(*self.current.as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                         ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/cursor.rs:803:28
[INFO] [stderr]     |
[INFO] [stderr] 803 |             self.current = (*self.current.as_ptr()).childs[index];
[INFO] [stderr]     |                            ^^---------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/cursor.rs:803:28
[INFO] [stderr]     |
[INFO] [stderr] 803 |             self.current = (*self.current.as_ptr()).childs[index];
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 803 |             self.current = (&(*self.current.as_ptr()).childs)[index];
[INFO] [stderr]     |                            ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/tree.rs:299:21
[INFO] [stderr]     |
[INFO] [stderr] 299 |         unsafe { &(*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^------------------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/tree.rs:299:21
[INFO] [stderr]     |
[INFO] [stderr] 299 |         unsafe { &(*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 299 |         unsafe { &(*(&(*self.current.unwrap().as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                     ++                                        +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/tree.rs:327:25
[INFO] [stderr]     |
[INFO] [stderr] 327 |         unsafe { &mut (*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                         ^^------------------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/tree.rs:327:25
[INFO] [stderr]     |
[INFO] [stderr] 327 |         unsafe { &mut (*(*self.current.unwrap().as_ptr()).childs[index].as_ptr()).elem }
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 327 |         unsafe { &mut (*(&(*self.current.unwrap().as_ptr()).childs)[index].as_ptr()).elem }
[INFO] [stderr]     |                         ++                                        +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/tree.rs:775:36
[INFO] [stderr]     |
[INFO] [stderr] 775 |             let item = unsafe { &(*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem };
[INFO] [stderr]     |                                    ^^---------------------^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/tree.rs:775:36
[INFO] [stderr]     |
[INFO] [stderr] 775 |             let item = unsafe { &(*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem };
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 775 |             let item = unsafe { &(*(&(*self.current.as_ptr()).childs)[self.i].as_ptr()).elem };
[INFO] [stderr]     |                                    ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/tree.rs:795:40
[INFO] [stderr]     |
[INFO] [stderr] 795 |             let item = unsafe { &mut (*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem };
[INFO] [stderr]     |                                        ^^---------------------^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          this raw pointer has type `*mut Node<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<NonNull<Node<T>>>`
[INFO] [stderr]    --> src/tree.rs:795:40
[INFO] [stderr]     |
[INFO] [stderr] 795 |             let item = unsafe { &mut (*(*self.current.as_ptr()).childs[self.i].as_ptr()).elem };
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 795 |             let item = unsafe { &mut (*(&(*self.current.as_ptr()).childs)[self.i].as_ptr()).elem };
[INFO] [stderr]     |                                        ++                               +
[INFO] [stderr] 
[INFO] [stderr] warning: `libtree` (lib) generated 12 warnings
[INFO] [stderr] warning: `libtree` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/libtree/63b145c981f00e94/out/libtree-63b145c981f00e94)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test tree::test::iter_mutchilds ... ok
[INFO] [stdout] test tree::test::move_to_no_panic ... ok
[INFO] [stdout] test tree::test::memory_leak ... ok
[INFO] [stdout] test tree::test::lazyiter_mut ... ok
[INFO] [stdout] test tree::test::into_vec ... ok
[INFO] [stdout] test tree::test::join ... ok
[INFO] [stdout] test tree::test::move_to_root ... ok
[INFO] [stdout] test tree::test::insert ... ok
[INFO] [stdout] test tree::test::move_up ... ok
[INFO] [stdout] test cursor::test::unsafe_cursor1 ... ok
[INFO] [stdout] test tree::test::peek ... ok
[INFO] [stdout] test tree::test::split ... ok
[INFO] [stdout] test cursor::test::unsafe_cursor2 ... ok
[INFO] [stdout] test tree::test::lazyiter ... ok
[INFO] [stdout] test tree::test::clone ... ok
[INFO] [stdout] test tree::test::push ... ok
[INFO] [stdout] test tree::test::move_to_panic - should panic ... ok
[INFO] [stdout] test tree::test::into_vec_root - should panic ... ok
[INFO] [stdout] test tree::test::split_panic - should panic ... ok
[INFO] [stdout] test tree::test::split_no_dangling_pointer - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests libtree
[INFO] [stdout] 
[INFO] [stdout] running 70 tests
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::iter (line 473) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::childs_len (line 418) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::peek (line 81) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::navigate_to (line 116) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::has_father (line 401) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::iter_childs (line 200) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::childs_len (line 186) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::has_father (line 169) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut (line 54) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor (line 19) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::peek_child (line 94) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::ascend (line 376) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::peek_child_mut (line 326) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::iter (line 222) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::lazyiter (line 241) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor (line 646) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::lazyiter (line 508) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::Cursor<'a,T>::ascend (line 144) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::iter_mut (line 489) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::push (line 578) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::peek_child (line 304) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::peek_mut (line 291) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::iter_childs_mut (line 451) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::iter_childs (line 432) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::navigate_to (line 348) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::peek (line 278) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::lazyiter_mut (line 544) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorMut<'a,T>::push_iter (line 604) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor (line 677) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::childs_len (line 852) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::ascend (line 810) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::peek_child (line 732) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::peek_child_mut (line 760) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::peek (line 701) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::iter_childs (line 866) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::navigate_to (line 782) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::has_father (line 835) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::peek_mut (line 719) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::push (line 885) ... ok
[INFO] [stdout] test src/lib.rs - (line 22) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::childs_len (line 332) ... ok
[INFO] [stdout] test src/lib.rs - (line 50) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::cursor (line 455) ... ok
[INFO] [stdout] test src/lib.rs - (line 35) ... ok
[INFO] [stdout] test src/lib.rs - (line 83) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::go_to_root (line 226) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::has_father (line 208) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::ascend (line 179) ... ok
[INFO] [stdout] test src/lib.rs - (line 65) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::cursor_root (line 519) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::UnsafeCursor<'a,T>::push_iter (line 911) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::cursor_root_mut (line 541) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::cursor_mut (line 475) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::insert (line 130) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::into_vec (line 610) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::into_vec (line 595) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::is_empty (line 69) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::iter (line 666) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::peek (line 247) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::join (line 374) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::iter_mut (line 693) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::lazyiter (line 717) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::push (line 84) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::unsafe_cursor (line 499) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::peek_mut (line 262) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::peek_child_mut (line 305) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::push_iter (line 111) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::peek_child (line 277) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::unsafe_cursor_root (line 567) ... ok
[INFO] [stdout] test src/tree.rs - tree::Tree<T>::split (line 409) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.76s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627", kill_on_drop: false }`
[INFO] [stdout] db3f00a84da56c4750020271313dda7f675b9559063632a2c7a55e36c3639627
