symtern 0.1.0

Fast general-purpose interners for every use case
Documentation
Build #1733293 2025-02-11 03:11:23

# rustc version rustc 1.86.0-nightly (6171d944a 2025-02-10)

# docs.rs version docsrs 0.6.0 (35977596 2025-02-09)

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace-builder/builds/symtern-0.1.0/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace-builder/builds/symtern-0.1.0/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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20250210-1.86.0-nightly-6171d944a\", \"--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] [stdout] ca0dfc0ca6d5bea3d07988d785ed940b0f683f6d597a3367c25b247c276ec13a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "ca0dfc0ca6d5bea3d07988d785ed940b0f683f6d597a3367c25b247c276ec13a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: Rustdoc did not scrape the following examples because they require dev-dependencies: combining-adaptors, create-resolve, error-handling, intro, short, symbols-are-copy, you-can-intern-anything [INFO] [stderr] If you want Rustdoc to scrape these examples, then add `doc-scrape-examples = true` [INFO] [stderr] to the [[example]] target configuration of at least one example. [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting symtern v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unexpected `cfg` condition value: `composition-tests` [INFO] [stderr] --> src/adaptors/mod.rs:106:11 [INFO] [stderr] | [INFO] [stderr] 106 | #[cfg(all(feature = "composition-tests", test))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default` and `fnv` [INFO] [stderr] = help: consider adding `composition-tests` as a feature in `Cargo.toml` [INFO] [stderr] = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/lib.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / //! # Fast general-purpose interners for every use case [INFO] [stderr] 9 | | //! [INFO] [stderr] 10 | | //! Symtern provides a high-performance interner implementation applicable to [INFO] [stderr] 11 | | //! most use cases, and a small set of adaptors that add additional [INFO] [stderr] ... | [INFO] [stderr] 87 | | //! [`adaptors` module]: adaptors/index.html [INFO] [stderr] 88 | | //! [`traits` module]: traits/index.html [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(rustdoc::invalid_codeblock_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/traits.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / //! Traits that define the interface for all string-interning implementations. [INFO] [stderr] 9 | | //! [INFO] [stderr] 10 | | //! Interners are used to provide trivially-comparable stand-ins for values [INFO] [stderr] 11 | | //! that are not trivially comparable, and to later retrieve the value [INFO] [stderr] ... | [INFO] [stderr] 161 | | //! [Resolve::Input]: trait.Resolve.html#associatedtype.Input [INFO] [stderr] 162 | | //! [Scala's path-dependent types]: http://danielwestheide.com/blog/2013/02/13/the-neophytes-guide-to-scala-part-13-path-dependent-types.html [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/traits.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | / /// Fetch the symbol that corresponds to the given value. If the value [INFO] [stderr] 194 | | /// does not map to any existing symbol, create and return a new one. [INFO] [stderr] 195 | | /// This method may return an error if the interner encounters any error [INFO] [stderr] 196 | | /// while storing the value. [INFO] [stderr] ... | [INFO] [stderr] 202 | | /// }; [INFO] [stderr] 203 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/traits.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | / /// Look up and return a reference to the value represented by a symbol, or [INFO] [stderr] 223 | | /// an error if the symbol was not found. [INFO] [stderr] 224 | | /// [INFO] [stderr] 225 | | /// ```rust,ignore file="examples/create-resolve.rs" id="resolve-with-error-handling" [INFO] [stderr] ... | [INFO] [stderr] 229 | | /// }; [INFO] [stderr] 230 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/traits.rs:242:5 [INFO] [stderr] | [INFO] [stderr] 242 | / /// Resolve the given symbol into its referent, bypassing any [INFO] [stderr] 243 | | /// validity checks. [INFO] [stderr] 244 | | /// [INFO] [stderr] 245 | | /// ```rust,ignore file="examples/create-resolve.rs" id="resolve_unchecked" [INFO] [stderr] ... | [INFO] [stderr] 249 | | /// assert_eq!("abc", unsafe { pool.resolve_unchecked(sym) }); [INFO] [stderr] 250 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/basic.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | / /// Simple hash-based interner generic over both the type of interned values [INFO] [stderr] 35 | | /// and the type used to represent symbol IDs. [INFO] [stderr] 36 | | /// [INFO] [stderr] 37 | | /// `Pool` can intern any type that implements `ToOwned`, `Eq`, and `Hash`, [INFO] [stderr] ... | [INFO] [stderr] 50 | | /// assert!(pool.intern(&WibbleWobble{whee: vec![1, 2, 3, 4, 5]}).is_ok()); [INFO] [stderr] 51 | | /// ``` [INFO] [stderr] | |_______^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/adaptors/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / //! # Interner Adaptors [INFO] [stderr] 9 | | //! [INFO] [stderr] 10 | | //! Each type in this module provides some additional functionality beyond that [INFO] [stderr] 11 | | //! of Symtern's basic interner. [INFO] [stderr] ... | [INFO] [stderr] 97 | | //! [`Luma`]: struct.Luma.html [INFO] [stderr] 98 | | //! [`Inline`]: struct.Inline.html [INFO] [stderr] | |__________________________________^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/adaptors/inline.rs:145:1 [INFO] [stderr] | [INFO] [stderr] 145 | / /// Interner adaptor optimized for short strings. [INFO] [stderr] 146 | | /// [INFO] [stderr] 147 | | /// `Inline` will encode any string _shorter_ than the symbol-ID type *directly [INFO] [stderr] 148 | | /// inside the symbol*; strings of the same or greater size will be passed to [INFO] [stderr] ... | [INFO] [stderr] 186 | | /// [`Pool`]: ../struct.Pool.html [INFO] [stderr] 187 | | /// [128-bit integers]: https://github.com/rust-lang/rfcs/blob/master/text/1504-int128.md [INFO] [stderr] | |_________________________________________________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: unexpected character `=` [INFO] [stderr] --> src/adaptors/luma.rs:59:1 [INFO] [stderr] | [INFO] [stderr] 59 | / /// "Lifetime-safe" interner adaptor. [INFO] [stderr] 60 | | /// [INFO] [stderr] 61 | | /// This adaptor's symbols are treated as references to their source pool [INFO] [stderr] 62 | | /// &mdash; which, thanks to Rust's borrow-checker, prevents us from dropping [INFO] [stderr] ... | [INFO] [stderr] 95 | | /// let _ = pool.intern("bar").expect("failed to intern a value"); //~ PANIC already borrowed: BorrowMutError [INFO] [stderr] 96 | | /// ``` [INFO] [stderr] | |_______^ [INFO] [stderr] [INFO] [stderr] warning: `symtern` (lib doc) generated 10 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/symtern/index.html [INFO] running `Command { std: "docker" "inspect" "ca0dfc0ca6d5bea3d07988d785ed940b0f683f6d597a3367c25b247c276ec13a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca0dfc0ca6d5bea3d07988d785ed940b0f683f6d597a3367c25b247c276ec13a", kill_on_drop: false }` [INFO] [stdout] ca0dfc0ca6d5bea3d07988d785ed940b0f683f6d597a3367c25b247c276ec13a