Build failed. If you want to re-trigger a documentation build, you can do it here. You can find more information on docs.rs builds documentation on the builds page.
# error kind ExecutionFailed
# pre-build errors command failed: exit status: 101
# rustc version rustc 1.97.0-nightly (9eb3be26b 2026-05-18)
# docs.rs version docsrs 0.0.0 (e50152ed411bb913753b1dfd203f22cb8711f097 2026-05-17 )
# build log [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" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "2792e47d00ae57fbe53af768fc9fd8624cd127113fcd2f45534a1fcfbb6b9f97" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260518-1.97.0-nightly-9eb3be26b\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting custom_float v0.3.1 (/opt/rustwide/workdir) [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:232:20 [INFO] [stderr] | [INFO] [stderr] 232 | if let Some(e0) = self.exp_bits().to_usize() && let Some(f0) = <u128 as NumCast>::from(self.mantissa_bits()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:232:65 [INFO] [stderr] | [INFO] [stderr] 232 | if let Some(e0) = self.exp_bits().to_usize() && let Some(f0) = <u128 as NumCast>::from(self.mantissa_bits()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | && let Some(e1) = rhs.exp_bits().to_usize() && let Some(f1) = <u128 as NumCast>::from(rhs.mantissa_bits()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:233:68 [INFO] [stderr] | [INFO] [stderr] 233 | && let Some(e1) = rhs.exp_bits().to_usize() && let Some(f1) = <u128 as NumCast>::from(rhs.mantissa_bits()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:652:16 [INFO] [stderr] | [INFO] [stderr] 652 | && let Some(min_lz) = <u32 as NumCast>::from(util::bitsize_of::<M>() + Self::BASE_PADDING - Self::MANTISSA_OP_SIZE - 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:653:16 [INFO] [stderr] | [INFO] [stderr] 653 | && let Some(shifts) = <usize as NumCast>::from(exp.saturating_sub(min_exp)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:678:16 [INFO] [stderr] | [INFO] [stderr] 678 | && let Some(max_lz) = <u32 as NumCast>::from(util::bitsize_of::<M>() - Self::MANTISSA_OP_SIZE - 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:679:16 [INFO] [stderr] | [INFO] [stderr] 679 | && let Some(shifts) = <usize as NumCast>::from(max_exp.saturating_sub(*exp)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:815:81 [INFO] [stderr] | [INFO] [stderr] 815 | if util::bitsize_of::<U>() < util::bitsize_of::<V>() && let Some(bias) = V::from(bias2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:824:33 [INFO] [stderr] | [INFO] [stderr] 824 | else if let Some(bias) = U::from(bias1) && let Some(e) = U::from(e1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:824:68 [INFO] [stderr] | [INFO] [stderr] 824 | else if let Some(bias) = U::from(bias1) && let Some(e) = U::from(e1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:970:28 [INFO] [stderr] | [INFO] [stderr] 970 | if overflow && let Some(base) = I::from(EXP_BASE) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2537:33 [INFO] [stderr] | [INFO] [stderr] 2537 | else if let Some(base) = base && let Some(mut ff) = f.checked_mul(&base) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2537:58 [INFO] [stderr] | [INFO] [stderr] 2537 | else if let Some(base) = base && let Some(mut ff) = f.checked_mul(&base) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2540:51 [INFO] [stderr] | [INFO] [stderr] 2540 | ... while !e.is_zero() && let oo = ff.saturating_sub(Self::max_mantissa_bits()) && oo < base [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2568:28 [INFO] [stderr] | [INFO] [stderr] 2568 | if let Some(base) = base && let Some(mut ff) = f.checked_mul(&base) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2568:53 [INFO] [stderr] | [INFO] [stderr] 2568 | if let Some(base) = base && let Some(mut ff) = f.checked_mul(&base) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2809:16 [INFO] [stderr] | [INFO] [stderr] 2809 | if let Some(base) = U::from(EXP_BASE) && f.leading_zeros() as usize >= Self::BASE_PADDING [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2853:42 [INFO] [stderr] | [INFO] [stderr] 2853 | if EXP_BASE.is_power_of_two() && let Some(mut change) = U::from(shifts/EXP_BASE.ilog2() as usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2872:47 [INFO] [stderr] | [INFO] [stderr] 2872 | else if EXP_BASE.is_multiple_of(2) && let Some(half_base) = M::from(EXP_BASE/2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2902:20 [INFO] [stderr] | [INFO] [stderr] 2902 | if let Some(ofs) = &mut exp_offset && **ofs > U::zero() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2945:20 [INFO] [stderr] | [INFO] [stderr] 2945 | if let Some(ofs) = &mut exp_offset && **ofs > U::zero() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:2982:26 [INFO] [stderr] | [INFO] [stderr] 2982 | if i != 0 && let Some(o) = I::from(i/quanta) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3001:26 [INFO] [stderr] | [INFO] [stderr] 3001 | if i != 0 && let Some(o) = I::from(i/quanta) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3058:12 [INFO] [stderr] | [INFO] [stderr] 3058 | if let Some(base) = U::from(EXP_BASE) && (*mantissa % base).is_zero() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3063:66 [INFO] [stderr] | [INFO] [stderr] 3063 | else if EXP_BASE.isqrt()*EXP_BASE.isqrt() == EXP_BASE && let Some(base_sqrt) = U::from(EXP_BASE.isqrt()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3121:42 [INFO] [stderr] | [INFO] [stderr] 3121 | if EXP_BASE.is_power_of_two() && let Some(mut change) = U::from(shifts/EXP_BASE.ilog2() as usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3141:42 [INFO] [stderr] | [INFO] [stderr] 3141 | if EXP_BASE.is_multiple_of(2) && let Some(half_base) = M::from(EXP_BASE / 2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3216:20 [INFO] [stderr] | [INFO] [stderr] 3216 | if let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3216:53 [INFO] [stderr] | [INFO] [stderr] 3216 | if let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3230:48 [INFO] [stderr] | [INFO] [stderr] 3230 | if !Self::BASE_FACTORS_3.is_empty() && let Some(add) = add [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3234:20 [INFO] [stderr] | [INFO] [stderr] 3234 | if let Some(bf) = U::from(base_final) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3235:24 [INFO] [stderr] | [INFO] [stderr] 3235 | && let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3235:57 [INFO] [stderr] | [INFO] [stderr] 3235 | && let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3248:24 [INFO] [stderr] | [INFO] [stderr] 3248 | if let Some(bf) = U::from(base_final) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3249:28 [INFO] [stderr] | [INFO] [stderr] 3249 | && let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3249:61 [INFO] [stderr] | [INFO] [stderr] 3249 | && let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3250:28 [INFO] [stderr] | [INFO] [stderr] 3250 | && let k = (m_most % b1).is_zero() as u8 + (m_least % b2).is_zero() as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3282:24 [INFO] [stderr] | [INFO] [stderr] 3282 | if let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3282:57 [INFO] [stderr] | [INFO] [stderr] 3282 | if let Some(b1) = U::from(base1) && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3283:28 [INFO] [stderr] | [INFO] [stderr] 3283 | && let k = (m_most % b1).is_zero() as u8 + (m_least % b2).is_zero() as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3428:66 [INFO] [stderr] | [INFO] [stderr] 3428 | .filter_map(|(&[base1, base2], &[p1, _])| if let Some(b1) = U::from(base1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3429:28 [INFO] [stderr] | [INFO] [stderr] 3429 | && let Some(b2) = U::from(base2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3426:20 [INFO] [stderr] | [INFO] [stderr] 3426 | && let Some((_, [b1, b2])) = Self::BASE_FACTORS_2.iter() [INFO] [stderr] | ____________________^ [INFO] [stderr] 3427 | | .zip(Self::BASE_FACTORS_2_PADDING) [INFO] [stderr] 3428 | | .filter_map(|(&[base1, base2], &[p1, _])| if let Some(b1) = U::from(base1) [INFO] [stderr] 3429 | | && let Some(b2) = U::from(base2) [INFO] [stderr] ... | [INFO] [stderr] 3443 | | a [INFO] [stderr] 3444 | | }) [INFO] [stderr] | |______________________^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3643:31 [INFO] [stderr] | [INFO] [stderr] 3643 | if noi && let Some(i) = { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 3644 | | let n_clamp = Self::from_uint(U::max_value()); [INFO] [stderr] 3645 | | nabs.minimum(n_clamp).to_uint::<u128>() [INFO] [stderr] 3646 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/fp/mod.rs:3861:32 [INFO] [stderr] | [INFO] [stderr] 3861 | true => if let Some(exp_frac) = U::from(util::exp2_ilog(FRAC_SIZE + INT_SIZE, EXP_BASE)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/util.rs:602:44 [INFO] [stderr] | [INFO] [stderr] 602 | if T::from(2usize) == Some(rhs) && let Some(pow) = pow.to_u32() && let Some(rhs) = rhs.checked_shl(pow) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: let chains are only allowed in Rust 2024 or later [INFO] [stderr] --> src/util.rs:602:76 [INFO] [stderr] | [INFO] [stderr] 602 | if T::from(2usize) == Some(rhs) && let Some(pow) = pow.to_u32() && let Some(rhs) = rhs.checked_shl(pow) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: could not document `custom_float` [INFO] running `Command { std: "docker" "inspect" "2792e47d00ae57fbe53af768fc9fd8624cd127113fcd2f45534a1fcfbb6b9f97", kill_on_drop: false }`