libstaticvec 0.2.1

Experimentally provides a cdylib wrapping a (currently minimal) subset of the functionality of StaticVec, for use from C or any language with dynamic library support.
Build #1516048 2024-11-10 14:28:02

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.

# rustc version
rustc 1.84.0-nightly (59cec72a5 2024-11-08)# docs.rs version
docsrs 0.6.0 (36c721fb 2024-11-06)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace-builder/builds/libstaticvec-0.2.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace-builder/builds/libstaticvec-0.2.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace-builder/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace-builder/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20241108-1.84.0-nightly-59cec72a5\", \"--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: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] e3c840eda2250c616207c12225046c9aa8471ffef4e01031f0bee90b1aafa7c5
[INFO] running `Command { std: "docker" "start" "-a" "e3c840eda2250c616207c12225046c9aa8471ffef4e01031f0bee90b1aafa7c5", kill_on_drop: false }`
[INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op
[INFO] [stderr]     Checking staticvec v0.6.4
[INFO] [stderr] error[E0557]: feature has been removed
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | #![feature(const_fn)]
[INFO] [stderr]   |            ^^^^^^^^ feature has been removed
[INFO] [stderr]   |
[INFO] [stderr]   = note: split into finer-grained feature gates
[INFO] [stderr] 
[INFO] [stderr] error[E0557]: feature has been removed
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | #![feature(const_generics)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stderr]   |
[INFO] [stderr]   = note: removed in favor of `#![feature(adt_const_params)]` and `#![feature(generic_const_exprs)]`
[INFO] [stderr] 
[INFO] [stderr] error[E0557]: feature has been removed
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | #![feature(const_raw_ptr_to_usize_cast)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stderr]   |
[INFO] [stderr]   = note: at compile-time, pointers do not have an integer value, so these casts cannot be properly supported
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:855:85
[INFO] [stderr]     |
[INFO] [stderr] 855 |   pub fn concat<const N2: usize>(&self, other: &StaticVec<T, N2>) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]     |                                                                                     ^ cannot perform const operation using `N`
[INFO] [stderr]     |
[INFO] [stderr]     = help: const parameters may only be used as standalone arguments, i.e. `N`
[INFO] [stderr]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:855:89
[INFO] [stderr]     |
[INFO] [stderr] 855 |   pub fn concat<const N2: usize>(&self, other: &StaticVec<T, N2>) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]     |                                                                                         ^^ cannot perform const operation using `N2`
[INFO] [stderr]     |
[INFO] [stderr]     = help: const parameters may only be used as standalone arguments, i.e. `N2`
[INFO] [stderr]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:882:23
[INFO] [stderr]     |
[INFO] [stderr] 882 |   ) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]     |                       ^ cannot perform const operation using `N`
[INFO] [stderr]     |
[INFO] [stderr]     = help: const parameters may only be used as standalone arguments, i.e. `N`
[INFO] [stderr]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:882:27
[INFO] [stderr]     |
[INFO] [stderr] 882 |   ) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]     |                           ^^ cannot perform const operation using `N2`
[INFO] [stderr]     |
[INFO] [stderr]     = help: const parameters may only be used as standalone arguments, i.e. `N2`
[INFO] [stderr]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:911:61
[INFO] [stderr]     |
[INFO] [stderr] 911 |   pub fn intersperse(&self, separator: T) -> StaticVec<T, { N * 2 }>
[INFO] [stderr]     |                                                             ^ cannot perform const operation using `N`
[INFO] [stderr]     |
[INFO] [stderr]     = help: const parameters may only be used as standalone arguments, i.e. `N`
[INFO] [stderr]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:947:67
[INFO] [stderr]     |
[INFO] [stderr] 947 |   pub fn intersperse_clone(&self, separator: T) -> StaticVec<T, { N * 2 }>
[INFO] [stderr]     |                                                                   ^ cannot perform const operation using `N`
[INFO] [stderr]     |
[INFO] [stderr]     = help: const parameters may only be used as standalone arguments, i.e. `N`
[INFO] [stderr]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:1246:23
[INFO] [stderr]      |
[INFO] [stderr] 1246 |   ) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]      |                       ^ cannot perform const operation using `N`
[INFO] [stderr]      |
[INFO] [stderr]      = help: const parameters may only be used as standalone arguments, i.e. `N`
[INFO] [stderr]      = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:1246:27
[INFO] [stderr]      |
[INFO] [stderr] 1246 |   ) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]      |                           ^^ cannot perform const operation using `N2`
[INFO] [stderr]      |
[INFO] [stderr]      = help: const parameters may only be used as standalone arguments, i.e. `N2`
[INFO] [stderr]      = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:1332:84
[INFO] [stderr]      |
[INFO] [stderr] 1332 |   pub fn union<const N2: usize>(&self, other: &StaticVec<T, N2>) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]      |                                                                                    ^ cannot perform const operation using `N`
[INFO] [stderr]      |
[INFO] [stderr]      = help: const parameters may only be used as standalone arguments, i.e. `N`
[INFO] [stderr]      = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error: generic parameters may not be used in const operations
[INFO] [stderr]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:1332:88
[INFO] [stderr]      |
[INFO] [stderr] 1332 |   pub fn union<const N2: usize>(&self, other: &StaticVec<T, N2>) -> StaticVec<T, { N + N2 }>
[INFO] [stderr]      |                                                                                        ^^ cannot perform const operation using `N2`
[INFO] [stderr]      |
[INFO] [stderr]      = help: const parameters may only be used as standalone arguments, i.e. `N2`
[INFO] [stderr]      = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_mut` found for union `MaybeUninit` in the current scope
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:136:42
[INFO] [stderr]     |
[INFO] [stderr] 136 |             ptr::drop_in_place(forgotten.get_mut().get_unchecked_mut(N2.min(N)..N2));
[INFO] [stderr]     |                                          ^^^^^^^ method not found in `MaybeUninit<[T; N2]>`
[INFO] [stderr]     |
[INFO] [stderr]     = help: if this `MaybeUninit<[T; N2]>` has been initialized, use one of the `assume_init` methods to access the inner value
[INFO] [stderr] note: the method `get_mut` exists on the type `[T; N2]`
[INFO] [stderr]    --> /opt/rustwide/rustup-home/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/mod.rs:620:5
[INFO] [stderr]     |
[INFO] [stderr] 620 | /     pub fn get_mut<I>(&mut self, index: I) -> Option<&mut I::Output>
[INFO] [stderr] 621 | |     where
[INFO] [stderr] 622 | |         I: SliceIndex<Self>,
[INFO] [stderr]     | |____________________________^
[INFO] [stderr] help: consider pinning the expression with `std::pin::pin!()` and assigning that to a new binding
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/lib.rs:136:32
[INFO] [stderr]     |
[INFO] [stderr] 136 |             ptr::drop_in_place(forgotten.get_mut().get_unchecked_mut(N2.min(N)..N2));
[INFO] [stderr]     |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: pointers cannot be cast to integers during const eval
[INFO] [stderr]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/utils.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 |     0 => unsafe { (dest as usize).wrapping_sub(origin as usize) },
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: at compile-time, pointers do not have an integer value
[INFO] [stderr]    = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior
[INFO] [stderr] 
[INFO] [stderr] error: pointers cannot be cast to integers during const eval
[INFO] [stderr]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/staticvec-0.6.4/src/utils.rs:20:48
[INFO] [stderr]    |
[INFO] [stderr] 20 |     0 => unsafe { (dest as usize).wrapping_sub(origin as usize) },
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: at compile-time, pointers do not have an integer value
[INFO] [stderr]    = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0557, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0557`.
[INFO] [stderr] error: could not compile `staticvec` (lib) due to 16 previous errors
[INFO] running `Command { std: "docker" "inspect" "e3c840eda2250c616207c12225046c9aa8471ffef4e01031f0bee90b1aafa7c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3c840eda2250c616207c12225046c9aa8471ffef4e01031f0bee90b1aafa7c5", kill_on_drop: false }`
[INFO] [stdout] e3c840eda2250c616207c12225046c9aa8471ffef4e01031f0bee90b1aafa7c5