symtern 0.1.0

Fast general-purpose interners for every use case
Documentation

Build #4375663 2026-09-08 11:54:25

# rustc version rustc 1.100.0-nightly (cea272fa3 2026-09-07)

# docs.rs version docsrs 0.0.0 (bbe8284d494398efa390829fb7f0bf2364bcdf59 2026-09-08 )

# 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" "783e8868ca725c6f06309f7629fa0f63db4f9cf3f62a47caaad6c6a92e443aa5" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=html-non-static-files\", \"--resource-suffix\", \"-20260907-1.100.0-nightly-cea272fa3\", \"--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\"" "-j12" "--target" "x86_64-unknown-linux-gnu" "-Zrustdoc-scrape-examples", kill_on_drop: false }` [INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: explicit `package.readme` can be inferred [INFO] [stderr] --> Cargo.toml:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | readme = "README.md" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::manual_readme` is set to `warn` by default [INFO] [stderr] help: consider removing `package.readme` [INFO] [stderr] warning: `package.homepage` is redundant with `package.repository` [INFO] [stderr] --> Cargo.toml:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | homepage = "https://github.com/insaneinside/symtern" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | repository = "https://github.com/insaneinside/symtern" [INFO] [stderr] | ----------------------------------------- [INFO] [stderr] | [INFO] [stderr] = note: `cargo::redundant_homepage` is set to `warn` by default [INFO] [stderr] help: consider removing `package.homepage` [INFO] [stderr] warning: `symtern` (manifest) generated 3 warnings [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.19s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/symtern/index.html [INFO] running `Command { std: "docker" "inspect" "783e8868ca725c6f06309f7629fa0f63db4f9cf3f62a47caaad6c6a92e443aa5", kill_on_drop: false }`