[INFO] fetching crate libtree 0.1.0... [INFO] testing libtree-0.1.0 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate libtree 0.1.0 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate libtree 0.1.0 [INFO] finished tweaking crates.io crate libtree 0.1.0 [INFO] tweaked toml for crates.io crate libtree 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate libtree 0.1.0 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2bbb72b2079244e920d10651f29ae0b39b74adf3a11f8057b47505afad751233 [INFO] running `Command { std: "docker" "start" "-a" "2bbb72b2079244e920d10651f29ae0b39b74adf3a11f8057b47505afad751233", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2bbb72b2079244e920d10651f29ae0b39b74adf3a11f8057b47505afad751233", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2bbb72b2079244e920d10651f29ae0b39b74adf3a11f8057b47505afad751233", kill_on_drop: false }` [INFO] [stdout] 2bbb72b2079244e920d10651f29ae0b39b74adf3a11f8057b47505afad751233 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a4e70fd5896a0250ef82e2d5cc7c7ea5afe038bd9bba29a1db0d490997f4d4fa [INFO] running `Command { std: "docker" "start" "-a" "a4e70fd5896a0250ef82e2d5cc7c7ea5afe038bd9bba29a1db0d490997f4d4fa", kill_on_drop: false }` [INFO] [stderr] Compiling 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] running `Command { std: "docker" "inspect" "a4e70fd5896a0250ef82e2d5cc7c7ea5afe038bd9bba29a1db0d490997f4d4fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4e70fd5896a0250ef82e2d5cc7c7ea5afe038bd9bba29a1db0d490997f4d4fa", kill_on_drop: false }` [INFO] [stdout] a4e70fd5896a0250ef82e2d5cc7c7ea5afe038bd9bba29a1db0d490997f4d4fa