[INFO] fetching crate ferroc 1.0.0-pre.3...
[INFO] testing ferroc-1.0.0-pre.3 against 1.90.0 for beta-1.91-3
[INFO] extracting crate ferroc 1.0.0-pre.3 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate ferroc 1.0.0-pre.3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate ferroc 1.0.0-pre.3
[INFO] tweaked toml for crates.io crate ferroc 1.0.0-pre.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ferroc 1.0.0-pre.3 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ferroc 1.0.0-pre.3 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.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.82
[INFO] [stderr]   Downloaded array-macro v2.1.8
[INFO] [stderr]   Downloaded ctor v0.2.8
[INFO] [stderr]   Downloaded cc v1.0.97
[INFO] [stderr]   Downloaded crabgrind v0.1.9
[INFO] [stderr]   Downloaded serde_json v1.0.117
[INFO] [stderr]   Downloaded syn v2.0.63
[INFO] [stderr]   Downloaded cbindgen v0.26.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 62eb606aeee57a3890c014324eb039f9fb5ba6690554cbc1f9a13a14445d3cfa
[INFO] running `Command { std: "docker" "start" "-a" "62eb606aeee57a3890c014324eb039f9fb5ba6690554cbc1f9a13a14445d3cfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "62eb606aeee57a3890c014324eb039f9fb5ba6690554cbc1f9a13a14445d3cfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62eb606aeee57a3890c014324eb039f9fb5ba6690554cbc1f9a13a14445d3cfa", kill_on_drop: false }`
[INFO] [stdout] 62eb606aeee57a3890c014324eb039f9fb5ba6690554cbc1f9a13a14445d3cfa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e3c50918c5002c005242aee0fd2f75179e0aff8143185cbebbcd36c3b251c0f1
[INFO] running `Command { std: "docker" "start" "-a" "e3c50918c5002c005242aee0fd2f75179e0aff8143185cbebbcd36c3b251c0f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling ferroc v1.0.0-pre.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling array-macro v2.1.8
[INFO] [stderr]    Compiling memmap2 v0.9.4
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/arena.rs:411:16
[INFO] [stdout]     |
[INFO] [stdout] 411 |             && let Some(slab) = self.pop_abandoned()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:391:16
[INFO] [stdout]     |
[INFO] [stdout] 391 |             && let direct_index = direct_index(size)
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:393:16
[INFO] [stdout]     |
[INFO] [stdout] 393 |             && let shard = unsafe { self.direct_shards.get_unchecked(direct_index) }.get()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:394:16
[INFO] [stdout]     |
[INFO] [stdout] 394 |             && let Some(block) = shard.pop_block()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:450:16
[INFO] [stdout]     |
[INFO] [stdout] 450 |             && let Some(free) = cx.free_shards.pop()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:471:12
[INFO] [stdout]     |
[INFO] [stdout] 471 |         if let Some(shard) = bin.list.current()
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:521:16
[INFO] [stdout]     |
[INFO] [stdout] 521 |             && let direct_index = direct_index(layout.size())
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:523:16
[INFO] [stdout]     |
[INFO] [stdout] 523 |             && let shard = unsafe { self.direct_shards.get_unchecked(direct_index) }.get()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:524:16
[INFO] [stdout]     |
[INFO] [stdout] 524 |             && let Some(block) = shard.pop_block_aligned(layout.align())
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:667:12
[INFO] [stdout]     |
[INFO] [stdout] 667 |         if let Some(cx) = self.cx
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:817:12
[INFO] [stdout]     |
[INFO] [stdout] 817 |         if let Some(cx) = self.cx
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/heap.rs:925:21
[INFO] [stdout]     |
[INFO] [stdout] 925 |         if force && let Some(cx) = self.cx {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | #![feature(alloc_layout_extra)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout] 138 | #![feature(allocator_api)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | #![feature(const_pin)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | #![feature(const_refs_to_static)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute
[INFO] [stdout]     |
[INFO] [stdout]     = help: the feature `const_refs_to_static` has been stable since `1.83.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | #![feature(let_chains)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute
[INFO] [stdout]     |
[INFO] [stdout]     = help: the feature `let_chains` has been stable since `1.88.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | #![feature(pointer_is_aligned_to)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | #![feature(ptr_as_uninit)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:144:1
[INFO] [stdout]     |
[INFO] [stdout] 144 | #![feature(ptr_mask)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | #![feature(ptr_metadata)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | #![feature(ptr_sub_ptr)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:147:1
[INFO] [stdout]     |
[INFO] [stdout] 147 | #![feature(strict_provenance)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | #![cfg_attr(feature = "global", feature(allow_internal_unsafe))]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]    --> src/lib.rs:151:33
[INFO] [stdout]     |
[INFO] [stdout] 151 | #![cfg_attr(feature = "global", feature(allow_internal_unstable))]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: extern blocks should be unsafe
[INFO] [stdout]    --> src/base/mmap.rs:92:5
[INFO] [stdout]     |
[INFO] [stdout]  92 |       extern "C" {
[INFO] [stdout]     |       ^
[INFO] [stdout]     |       |
[INFO] [stdout]     |  _____help: needs `unsafe` before the extern keyword: `unsafe`
[INFO] [stdout]     | |
[INFO] [stdout]  93 | |         #[cfg_attr(
[INFO] [stdout]  94 | |             any(
[INFO] [stdout]  95 | |                 target_os = "linux",
[INFO] [stdout] ...   |
[INFO] [stdout] 130 | |         fn errno_location() -> *mut RawOsError;
[INFO] [stdout] 131 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-extern.html>
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 | #![deny(rust_2024_compatibility)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(missing_unsafe_on_extern)]` implied by `#[warn(rust_2024_compatibility)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/global.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |     (@ARENA $vis:vis, $bs:expr) => {
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see Migration Guide <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `#[warn(edition_2024_expr_fragment_specifier)]` implied by `#[warn(rust_2024_compatibility)]`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 52 |     (@ARENA $vis:vis, $bs:expr_2021) => {
[INFO] [stdout]    |                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/global.rs:269:31
[INFO] [stdout]     |
[INFO] [stdout] 269 |     ($vis:vis $name:ident($bs:expr) => $bt:ty: $($options:tt)*) => {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see Migration Guide <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 269 |     ($vis:vis $name:ident($bs:expr_2021) => $bt:ty: $($options:tt)*) => {
[INFO] [stdout]     |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/global.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ($vis:vis $name:ident($bs:expr) => $bt:ty) => {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see Migration Guide <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ($vis:vis $name:ident($bs:expr_2021) => $bt:ty) => {
[INFO] [stdout]     |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/heap.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |     ($e:expr) => {
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see Migration Guide <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 255 |     ($e:expr_2021) => {
[INFO] [stdout]     |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_refs_to_static` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | #![feature(const_refs_to_static)]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | #![feature(let_chains)]
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_pin` has been stable since 1.84.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | #![feature(const_pin)]
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `ptr_sub_ptr` has been stable since 1.87.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | #![feature(ptr_sub_ptr)]
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `strict_provenance` has been stable since 1.84.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | #![feature(strict_provenance)]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/arena.rs:174:43
[INFO] [stdout]     |
[INFO] [stdout] 174 |         Some(NonNull::from_raw_parts(data.cast(), SLAB_SIZE * count))
[INFO] [stdout]     |              -----------------------      ^^^^ cannot infer type of the type parameter `U` declared on the method `cast`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Thin`
[INFO] [stdout] note: required by a bound in `NonNull::<T>::from_raw_parts`
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ptr/non_null.rs:297:5
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout] 174 |         Some(NonNull::from_raw_parts(data.cast::<U>(), SLAB_SIZE * count))
[INFO] [stdout]     |                                               +++++
[INFO] [stdout] help: consider removing this method call, as the receiver has type `NonNull<[u8]>` and `NonNull<[u8]>: Thin` trivially holds
[INFO] [stdout]     |
[INFO] [stdout] 174 -         Some(NonNull::from_raw_parts(data.cast(), SLAB_SIZE * count))
[INFO] [stdout] 174 +         Some(NonNull::from_raw_parts(data, SLAB_SIZE * count))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sub_ptr` found for struct `NonNull` in the current scope
[INFO] [stdout]    --> src/arena.rs:219:48
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let offset = unsafe { ptr.cast::<u8>().sub_ptr(self.chunk.pointer().cast()) };
[INFO] [stdout]     |                                                ^^^^^^^ method not found in `NonNull<u8>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/base.rs:162:42
[INFO] [stdout]     |
[INFO] [stdout] 162 |         NonNull::from_raw_parts(self.ptr.cast(), self.layout.size())
[INFO] [stdout]     |         -----------------------          ^^^^ cannot infer type of the type parameter `U` declared on the method `cast`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Thin`
[INFO] [stdout] note: required by a bound in `NonNull::<T>::from_raw_parts`
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ptr/non_null.rs:297:5
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout] 162 |         NonNull::from_raw_parts(self.ptr.cast::<U>(), self.layout.size())
[INFO] [stdout]     |                                              +++++
[INFO] [stdout] help: consider removing this method call, as the receiver has type `NonNull<u8>` and `NonNull<u8>: Thin` trivially holds
[INFO] [stdout]     |
[INFO] [stdout] 162 -         NonNull::from_raw_parts(self.ptr.cast(), self.layout.size())
[INFO] [stdout] 162 +         NonNull::from_raw_parts(self.ptr, self.layout.size())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sub_ptr` found for raw pointer `*const Shard<'a>` in the current scope
[INFO] [stdout]    --> src/slab.rs:734:50
[INFO] [stdout]     |
[INFO] [stdout] 734 |         let index = unsafe { ptr::from_ref(self).sub_ptr(slab.shards.as_ptr()) };
[INFO] [stdout]     |                                                  ^^^^^^^ method not found in `*const Shard<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/slab.rs:835:63
[INFO] [stdout]     |
[INFO] [stdout] 835 |             unsafe { base.commit(NonNull::from_raw_parts(area.cast(), usable_size)) }
[INFO] [stdout]     |                                  -----------------------      ^^^^ cannot infer type of the type parameter `U` declared on the method `cast`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Thin`
[INFO] [stdout] note: required by a bound in `NonNull::<T>::from_raw_parts`
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ptr/non_null.rs:297:5
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout] 835 |             unsafe { base.commit(NonNull::from_raw_parts(area.cast::<U>(), usable_size)) }
[INFO] [stdout]     |                                                                   +++++
[INFO] [stdout] help: consider removing this method call, as the receiver has type `NonNull<u8>` and `NonNull<u8>: Thin` trivially holds
[INFO] [stdout]     |
[INFO] [stdout] 835 -             unsafe { base.commit(NonNull::from_raw_parts(area.cast(), usable_size)) }
[INFO] [stdout] 835 +             unsafe { base.commit(NonNull::from_raw_parts(area, usable_size)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/slab.rs:891:63
[INFO] [stdout]     |
[INFO] [stdout] 891 |             unsafe { base.commit(NonNull::from_raw_parts(area.cast(), SHARD_SIZE)) }
[INFO] [stdout]     |                                  -----------------------      ^^^^ cannot infer type of the type parameter `U` declared on the method `cast`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Thin`
[INFO] [stdout] note: required by a bound in `NonNull::<T>::from_raw_parts`
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ptr/non_null.rs:297:5
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout] 891 |             unsafe { base.commit(NonNull::from_raw_parts(area.cast::<U>(), SHARD_SIZE)) }
[INFO] [stdout]     |                                                                   +++++
[INFO] [stdout] help: consider removing this method call, as the receiver has type `NonNull<u8>` and `NonNull<u8>: Thin` trivially holds
[INFO] [stdout]     |
[INFO] [stdout] 891 -             unsafe { base.commit(NonNull::from_raw_parts(area.cast(), SHARD_SIZE)) }
[INFO] [stdout] 891 +             unsafe { base.commit(NonNull::from_raw_parts(area, SHARD_SIZE)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0283, E0554, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0283`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferroc` (lib) due to 31 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e3c50918c5002c005242aee0fd2f75179e0aff8143185cbebbcd36c3b251c0f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3c50918c5002c005242aee0fd2f75179e0aff8143185cbebbcd36c3b251c0f1", kill_on_drop: false }`
[INFO] [stdout] e3c50918c5002c005242aee0fd2f75179e0aff8143185cbebbcd36c3b251c0f1
