stack-cstr 0.1.1

High-performance stack-to-heap C string creation for Rust with FFI support
Documentation
Build #2432541 2025-08-21 07:39:01

# rustc version rustc 1.91.0-nightly (040a98af7 2025-08-20)

# docs.rs version docsrs 0.6.0 (e18d034e 2025-07-29)

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/stack-cstr-0.1.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/stack-cstr-0.1.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20250820-1.91.0-nightly-040a98af7\", \"--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] da410ef6ec98c8004c98a2e45bf1da5afcda06af1448e85036dc3a7aad789bf6 [INFO] running `Command { std: "docker" "start" "-a" "da410ef6ec98c8004c98a2e45bf1da5afcda06af1448e85036dc3a7aad789bf6", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting stack-cstr v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `CString` [INFO] [stderr] --> src/lib.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | //! is to use [`CString`], which always allocates on the heap. [INFO] [stderr] | ^^^^^^^ no item named `CString` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CString` [INFO] [stderr] --> src/lib.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | //! around [`CString`]. [INFO] [stderr] | ^^^^^^^ no item named `CString` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `as_ptr` [INFO] [stderr] --> src/cstr_like.rs:10:35 [INFO] [stderr] | [INFO] [stderr] 10 | /// - The returned pointer from [`as_ptr`] is a valid, null-terminated [INFO] [stderr] | ^^^^^^ no item named `as_ptr` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `as_cstr` [INFO] [stderr] --> src/cstr_like.rs:12:46 [INFO] [stderr] | [INFO] [stderr] 12 | /// - The returned [`CStr`] reference from [`as_cstr`] is always valid. [INFO] [stderr] | ^^^^^^^ no item named `as_cstr` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStrHeap` [INFO] [stderr] --> src/cstr_like.rs:14:46 [INFO] [stderr] | [INFO] [stderr] 14 | /// This trait is mainly intended to unify [`CStrHeap`] (heap-allocated) [INFO] [stderr] | ^^^^^^^^ no item named `CStrHeap` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `new` [INFO] [stderr] --> src/cstr_stack.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | /// into the buffer, [`new`] will return an error. [INFO] [stderr] | ^^^ no item named `new` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStrStack` [INFO] [stderr] --> src/macros.rs:3:46 [INFO] [stderr] | [INFO] [stderr] 3 | /// The `cstr!` macro tries to construct a [`CStrStack`] with one of the given [INFO] [stderr] | ^^^^^^^^^ no item named `CStrStack` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CString` [INFO] [stderr] --> src/macros.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | /// allocating a [`CString`] on the heap. [INFO] [stderr] | ^^^^^^^ no item named `CString` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStrLike::as_ptr` [INFO] [stderr] --> src/macros.rs:27:45 [INFO] [stderr] | [INFO] [stderr] 27 | /// - a raw pointer (`*const c_char`) via [`CStrLike::as_ptr`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ no item named `CStrLike` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStr` [INFO] [stderr] --> src/macros.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | /// - a reference to the [`CStr`] via [`CStrLike::as_cstr`] [INFO] [stderr] | ^^^^ no item named `CStr` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStrLike::as_cstr` [INFO] [stderr] --> src/macros.rs:28:41 [INFO] [stderr] | [INFO] [stderr] 28 | /// - a reference to the [`CStr`] via [`CStrLike::as_cstr`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `CStrLike` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStrStack` [INFO] [stderr] --> src/macros.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | /// - [`CStrStack`] for stack-only storage [INFO] [stderr] | ^^^^^^^^^ no item named `CStrStack` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CStrHeap` [INFO] [stderr] --> src/macros.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | /// - [`CStrHeap`] for explicit heap allocation [INFO] [stderr] | ^^^^^^^^ no item named `CStrHeap` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/lib.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | //! - [`CStrLike`](crate::CStrLike): A trait for types that can expose [INFO] [stderr] | ---------- ^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 24 - //! - [`CStrLike`](crate::CStrLike): A trait for types that can expose [INFO] [stderr] 24 + //! - [`CStrLike`]: A trait for types that can expose [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/lib.rs:26:21 [INFO] [stderr] | [INFO] [stderr] 26 | //! - [`CStrStack`](crate::CStrStack): A stack-allocated C string with [INFO] [stderr] | ----------- ^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 26 - //! - [`CStrStack`](crate::CStrStack): A stack-allocated C string with [INFO] [stderr] 26 + //! - [`CStrStack`]: A stack-allocated C string with [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/lib.rs:28:20 [INFO] [stderr] | [INFO] [stderr] 28 | //! - [`CStrHeap`](crate::CStrHeap): A heap-allocated C string wrapper [INFO] [stderr] | ---------- ^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 28 - //! - [`CStrHeap`](crate::CStrHeap): A heap-allocated C string wrapper [INFO] [stderr] 28 + //! - [`CStrHeap`]: A heap-allocated C string wrapper [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `stack-cstr` (lib doc) generated 16 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/stack_cstr/index.html [INFO] running `Command { std: "docker" "inspect" "da410ef6ec98c8004c98a2e45bf1da5afcda06af1448e85036dc3a7aad789bf6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da410ef6ec98c8004c98a2e45bf1da5afcda06af1448e85036dc3a7aad789bf6", kill_on_drop: false }` [INFO] [stdout] da410ef6ec98c8004c98a2e45bf1da5afcda06af1448e85036dc3a7aad789bf6