[INFO] fetching crate rowan 0.15.13... [INFO] checking rowan-0.15.13 against master#35936c4839dd272646394779d151e060d0f6b3ac for pr-122960-1 [INFO] extracting crate rowan 0.15.13 into /workspace/builds/worker-3-tc1/source [INFO] validating manifest of crates.io crate rowan 0.15.13 on toolchain 35936c4839dd272646394779d151e060d0f6b3ac [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rowan 0.15.13 [INFO] finished tweaking crates.io crate rowan 0.15.13 [INFO] tweaked toml for crates.io crate rowan 0.15.13 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate crates.io crate rowan 0.15.13 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" "+35936c4839dd272646394779d151e060d0f6b3ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde v1.0.188 [INFO] [stderr] Downloaded text-size v1.1.1 [INFO] [stderr] Downloaded m_lexer v0.0.4 [INFO] [stderr] Downloaded countme v3.0.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.67 [INFO] [stderr] Downloaded serde_derive v1.0.188 [INFO] [stderr] Downloaded memchr v2.6.3 [INFO] [stderr] Downloaded aho-corasick v1.1.1 [INFO] [stderr] Downloaded regex-syntax v0.7.5 [INFO] [stderr] Downloaded regex-automata v0.3.8 [INFO] [stderr] Downloaded regex v1.9.5 [INFO] [stderr] Downloaded syn v2.0.37 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 88a271bd8e2e151168eeaa32436ebd818fbb575b9941bbc809f2779d5c522286 [INFO] running `Command { std: "docker" "start" "-a" "88a271bd8e2e151168eeaa32436ebd818fbb575b9941bbc809f2779d5c522286", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "88a271bd8e2e151168eeaa32436ebd818fbb575b9941bbc809f2779d5c522286", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "88a271bd8e2e151168eeaa32436ebd818fbb575b9941bbc809f2779d5c522286", kill_on_drop: false }` [INFO] [stdout] 88a271bd8e2e151168eeaa32436ebd818fbb575b9941bbc809f2779d5c522286 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b1ae6e3f83fdb650cb46072c1e72c95245612e46806890db7169adea52d83ac [INFO] running `Command { std: "docker" "start" "-a" "2b1ae6e3f83fdb650cb46072c1e72c95245612e46806890db7169adea52d83ac", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Checking memchr v2.6.3 [INFO] [stderr] Checking regex-syntax v0.7.5 [INFO] [stderr] Checking text-size v1.1.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking countme v3.0.1 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Checking aho-corasick v1.1.1 [INFO] [stderr] Checking rowan v0.15.13 (/opt/rustwide/workdir) [INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused [INFO] [stdout] --> src/green/node.rs:199:35 [INFO] [stdout] | [INFO] [stdout] 198 | let repr: &Repr = &self.ptr; [INFO] [stdout] | -------- backing allocation comes from here [INFO] [stdout] 199 | let repr: &ReprThin = &*(repr as *const Repr as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: casting from `ThinArc` (8 bytes) to `HeaderSlice` (16 bytes) [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused [INFO] [stdout] --> src/green/token.rs:141:35 [INFO] [stdout] | [INFO] [stdout] 140 | let repr: &Repr = &self.ptr; [INFO] [stdout] | -------- backing allocation comes from here [INFO] [stdout] 141 | let repr: &ReprThin = &*(repr as *const Repr as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: casting from `ThinArc` (8 bytes) to `HeaderSlice` (16 bytes) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> src/arc.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | this.ptr() == other.ptr() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 86 | std::ptr::addr_eq(this.ptr(), other.ptr()) [INFO] [stdout] | ++++++++++++++++++ ~ + [INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses [INFO] [stdout] | [INFO] [stdout] 86 | std::ptr::eq(this.ptr(), other.ptr()) [INFO] [stdout] | +++++++++++++ ~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rowan` (lib) due to 3 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "2b1ae6e3f83fdb650cb46072c1e72c95245612e46806890db7169adea52d83ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b1ae6e3f83fdb650cb46072c1e72c95245612e46806890db7169adea52d83ac", kill_on_drop: false }` [INFO] [stdout] 2b1ae6e3f83fdb650cb46072c1e72c95245612e46806890db7169adea52d83ac [INFO] checking rowan-0.15.13 against try#9ae1860851f3fbc1435a1698e572252c0076f413 for pr-122960-1 [INFO] extracting crate rowan 0.15.13 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate rowan 0.15.13 on toolchain 9ae1860851f3fbc1435a1698e572252c0076f413 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rowan 0.15.13 [INFO] finished tweaking crates.io crate rowan 0.15.13 [INFO] tweaked toml for crates.io crate rowan 0.15.13 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate crates.io crate rowan 0.15.13 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" "+9ae1860851f3fbc1435a1698e572252c0076f413" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9d429746ff4cb24052e32abd0a0ea1bf4271b036d33aed216286a9c269726e2a [INFO] running `Command { std: "docker" "start" "-a" "9d429746ff4cb24052e32abd0a0ea1bf4271b036d33aed216286a9c269726e2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9d429746ff4cb24052e32abd0a0ea1bf4271b036d33aed216286a9c269726e2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d429746ff4cb24052e32abd0a0ea1bf4271b036d33aed216286a9c269726e2a", kill_on_drop: false }` [INFO] [stdout] 9d429746ff4cb24052e32abd0a0ea1bf4271b036d33aed216286a9c269726e2a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a36a25438429ca41013792af758ff912a6ed576039bf2812bd8a07e4707903bb [INFO] running `Command { std: "docker" "start" "-a" "a36a25438429ca41013792af758ff912a6ed576039bf2812bd8a07e4707903bb", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Checking memchr v2.6.3 [INFO] [stderr] Checking regex-syntax v0.7.5 [INFO] [stderr] Checking countme v3.0.1 [INFO] [stderr] Checking text-size v1.1.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Checking aho-corasick v1.1.1 [INFO] [stderr] Checking rowan v0.15.13 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: call to unsafe function `arc::Arc::::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/green/node.rs:248:19 [INFO] [stdout] | [INFO] [stdout] 248 | let arc = Arc::from_raw(&ptr.as_ref().data as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/green/node.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | pub(crate) unsafe fn from_raw(ptr: ptr::NonNull) -> GreenNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = help: to override `--force-warn rust-2024-compatibility` add `#[allow(unsafe_op_in_unsafe_fn)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/green/node.rs:248:34 [INFO] [stdout] | [INFO] [stdout] 248 | let arc = Arc::from_raw(&ptr.as_ref().data as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/green/node.rs:249:19 [INFO] [stdout] | [INFO] [stdout] 249 | let arc = mem::transmute::, ThinArc>(arc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `arc::Arc::::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/green/token.rs:128:19 [INFO] [stdout] | [INFO] [stdout] 128 | let arc = Arc::from_raw(&ptr.as_ref().data as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/green/token.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub(crate) unsafe fn from_raw(ptr: ptr::NonNull) -> GreenToken { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/green/token.rs:128:34 [INFO] [stdout] | [INFO] [stdout] 128 | let arc = Arc::from_raw(&ptr.as_ref().data as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/green/token.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | let arc = mem::transmute::, ThinArc>(arc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | debug_assert_eq!(data.as_ref().rc.get(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cursor.rs:190:1 [INFO] [stdout] | [INFO] [stdout] 190 | unsafe fn free(mut data: ptr::NonNull) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:193:23 [INFO] [stdout] | [INFO] [stdout] 193 | debug_assert!(data.as_ref().first.get().is_null()); [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:194:20 [INFO] [stdout] | [INFO] [stdout] 194 | let node = Box::from_raw(data.as_ptr()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:197:31 [INFO] [stdout] | [INFO] [stdout] 197 | debug_assert!(parent.as_ref().rc.get() > 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:199:34 [INFO] [stdout] | [INFO] [stdout] 199 | sll::unlink(&parent.as_ref().first, &*node) [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::as_ref` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:201:20 [INFO] [stdout] | [INFO] [stdout] 201 | if parent.as_ref().dec_rc() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `green::node::GreenNode::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:210:33 [INFO] [stdout] | [INFO] [stdout] 210 | let _ = GreenNode::from_raw(ptr.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `green::token::GreenToken::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:213:33 [INFO] [stdout] | [INFO] [stdout] 213 | let _ = GreenToken::from_raw(*ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `green::node::GreenNode::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/cursor.rs:515:29 [INFO] [stdout] | [INFO] [stdout] 515 | let _ = GreenNode::from_raw(old_green); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cursor.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | unsafe fn respine(&self, mut new_green: GreenNode) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::const_ptr::::sub` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/arc.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | let ptr = (ptr as *const u8).sub(offset_of!(ArcInner, data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/arc.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub(crate) unsafe fn from_raw(ptr: *const T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::NonNull::::new_unchecked` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/arc.rs:61:18 [INFO] [stdout] | [INFO] [stdout] 61 | Arc { p: ptr::NonNull::new_unchecked(ptr as *mut ArcInner), phantom: PhantomData } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/arc.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let _ = Box::from_raw(self.ptr()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/arc.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | unsafe fn drop_slow(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused [INFO] [stdout] --> src/green/node.rs:199:35 [INFO] [stdout] | [INFO] [stdout] 198 | let repr: &Repr = &self.ptr; [INFO] [stdout] | -------- backing allocation comes from here [INFO] [stdout] 199 | let repr: &ReprThin = &*(repr as *const Repr as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: casting from `ThinArc` (8 bytes) to `HeaderSlice` (16 bytes) [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused [INFO] [stdout] --> src/green/token.rs:141:35 [INFO] [stdout] | [INFO] [stdout] 140 | let repr: &Repr = &self.ptr; [INFO] [stdout] | -------- backing allocation comes from here [INFO] [stdout] 141 | let repr: &ReprThin = &*(repr as *const Repr as *const ReprThin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: casting from `ThinArc` (8 bytes) to `HeaderSlice` (16 bytes) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> src/arc.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | this.ptr() == other.ptr() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 86 | std::ptr::addr_eq(this.ptr(), other.ptr()) [INFO] [stdout] | ++++++++++++++++++ ~ + [INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses [INFO] [stdout] | [INFO] [stdout] 86 | std::ptr::eq(this.ptr(), other.ptr()) [INFO] [stdout] | +++++++++++++ ~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rowan` (lib) due to 3 previous errors; 19 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "a36a25438429ca41013792af758ff912a6ed576039bf2812bd8a07e4707903bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a36a25438429ca41013792af758ff912a6ed576039bf2812bd8a07e4707903bb", kill_on_drop: false }` [INFO] [stdout] a36a25438429ca41013792af758ff912a6ed576039bf2812bd8a07e4707903bb