rust-key-paths 1.28.0

Keypaths for Rust: Static dispatch implementation (rust-keypaths) and legacy dynamic dispatch (key-paths-core). Type-safe, composable access to nested data structures.
Documentation
Build #2881166 2026-02-08 07:11:04
# rustc version
rustc 1.95.0-nightly (c7f5f3e0d 2026-02-07)# docs.rs version
docsrs 0.0.0 (e6b9bb9a 2026-02-06 )# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace-builder/builds/rust-key-paths-1.28.0/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace-builder/builds/rust-key-paths-1.28.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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260207-1.95.0-nightly-c7f5f3e0d\", \"--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] 696862bf9cbef6d94f101e2bc87ca0e9f4a211cecdf7f0809f93fdaa3773c5f4
[INFO] running `Command { std: "docker" "start" "-a" "696862bf9cbef6d94f101e2bc87ca0e9f4a211cecdf7f0809f93fdaa3773c5f4", kill_on_drop: false }`
[INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op
[INFO] [stderr]  Documenting rust-key-paths v1.28.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]   --> src/lock.rs:62:58
[INFO] [stderr]    |
[INFO] [stderr] 62 | /// A keypath that handles locked values (e.g., Arc<Mutex<T>>)
[INFO] [stderr]    |                                                          ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]    |
[INFO] [stderr] 62 | /// A keypath that handles locked values (e.g., `Arc<Mutex<T>>`)
[INFO] [stderr]    |                                                 +             +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Mid`
[INFO] [stderr]   --> src/lock.rs:65:67
[INFO] [stderr]    |
[INFO] [stderr] 65 | /// - `prev`: Keypath from Root to Lock container (e.g., Arc<Mutex<Mid>>)
[INFO] [stderr]    |                                                                   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]    |
[INFO] [stderr] 65 | /// - `prev`: Keypath from Root to Lock container (e.g., `Arc<Mutex<Mid>>`)
[INFO] [stderr]    |                                                          +               +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Mid`
[INFO] [stderr]   --> src/lock.rs:71:51
[INFO] [stderr]    |
[INFO] [stderr] 71 | /// - `Lock`: Lock container type (e.g., Arc<Mutex<Mid>>)
[INFO] [stderr]    |                                                   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]    |
[INFO] [stderr] 71 | /// - `Lock`: Lock container type (e.g., `Arc<Mutex<Mid>>`)
[INFO] [stderr]    |                                          +               +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]    --> src/lock.rs:564:45
[INFO] [stderr]     |
[INFO] [stderr] 564 | /// Lock access implementation for Arc<Mutex<T>>
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 564 | /// Lock access implementation for `Arc<Mutex<T>>`
[INFO] [stderr]     |                                    +             +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]    --> src/lock.rs:637:46
[INFO] [stderr]     |
[INFO] [stderr] 637 | /// Lock access implementation for Arc<RwLock<T>>
[INFO] [stderr]     |                                              ^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 637 | /// Lock access implementation for `Arc<RwLock<T>>`
[INFO] [stderr]     |                                    +              +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]    --> src/lock.rs:718:52
[INFO] [stderr]     |
[INFO] [stderr] 718 | /// Lock access implementation for std::sync::Mutex<T> (without Arc wrapper)
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 718 | /// Lock access implementation for `std::sync::Mutex<T>` (without Arc wrapper)
[INFO] [stderr]     |                                    +                   +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]    --> src/lock.rs:789:53
[INFO] [stderr]     |
[INFO] [stderr] 789 | /// Lock access implementation for std::sync::RwLock<T> (without Arc wrapper)
[INFO] [stderr]     |                                                     ^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 789 | /// Lock access implementation for `std::sync::RwLock<T>` (without Arc wrapper)
[INFO] [stderr]     |                                    +                    +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]     --> src/lock.rs:1181:46
[INFO] [stderr]      |
[INFO] [stderr] 1181 | /// Lock access implementation for Rc<RefCell<T>>
[INFO] [stderr]      |                                              ^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1181 | /// Lock access implementation for `Rc<RefCell<T>>`
[INFO] [stderr]      |                                    +              +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]     --> src/lock.rs:1289:54
[INFO] [stderr]      |
[INFO] [stderr] 1289 | /// Type alias for common LockKp usage with Arc<Mutex<T>>
[INFO] [stderr]      |                                                      ^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1289 | /// Type alias for common LockKp usage with `Arc<Mutex<T>>`
[INFO] [stderr]      |                                             +             +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]    --> src/async_lock.rs:176:84
[INFO] [stderr]     |
[INFO] [stderr] 176 | /// An async keypath that handles async locked values (e.g., Arc<tokio::sync::Mutex<T>>)
[INFO] [stderr]     |                                                                                    ^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 176 | /// An async keypath that handles async locked values (e.g., `Arc<tokio::sync::Mutex<T>>`)
[INFO] [stderr]     |                                                              +                          +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Mid`
[INFO] [stderr]    --> src/async_lock.rs:179:80
[INFO] [stderr]     |
[INFO] [stderr] 179 | /// - `prev`: Keypath from Root to Lock container (e.g., Arc<tokio::sync::Mutex<Mid>>)
[INFO] [stderr]     |                                                                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 179 | /// - `prev`: Keypath from Root to Lock container (e.g., `Arc<tokio::sync::Mutex<Mid>>`)
[INFO] [stderr]     |                                                          +                            +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Mid`
[INFO] [stderr]    --> src/async_lock.rs:185:64
[INFO] [stderr]     |
[INFO] [stderr] 185 | /// - `Lock`: Lock container type (e.g., Arc<tokio::sync::Mutex<Mid>>)
[INFO] [stderr]     |                                                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 185 | /// - `Lock`: Lock container type (e.g., `Arc<tokio::sync::Mutex<Mid>>`)
[INFO] [stderr]     |                                          +                            +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:210:44
[INFO] [stderr]     |
[INFO] [stderr] 210 |     /// Adapt this keypath to work with Arc<Root> instead of Root
[INFO] [stderr]     |                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 210 |     /// Adapt this keypath to work with `Arc<Root>` instead of Root
[INFO] [stderr]     |                                         +         +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:231:44
[INFO] [stderr]     |
[INFO] [stderr] 231 |     /// Adapt this keypath to work with Box<Root> instead of Root
[INFO] [stderr]     |                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 231 |     /// Adapt this keypath to work with `Box<Root>` instead of Root
[INFO] [stderr]     |                                         +         +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:252:43
[INFO] [stderr]     |
[INFO] [stderr] 252 |     /// Adapt this keypath to work with Rc<Root> instead of Root
[INFO] [stderr]     |                                           ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 252 |     /// Adapt this keypath to work with `Rc<Root>` instead of Root
[INFO] [stderr]     |                                         +        +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:273:47
[INFO] [stderr]     |
[INFO] [stderr] 273 |     /// Adapt this keypath to work with Option<Root> instead of Root
[INFO] [stderr]     |                                               ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 273 |     /// Adapt this keypath to work with `Option<Root>` instead of Root
[INFO] [stderr]     |                                         +            +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:467:44
[INFO] [stderr]     |
[INFO] [stderr] 467 |     /// Adapt this keypath to work with Arc<Root> instead of Root
[INFO] [stderr]     |                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 467 |     /// Adapt this keypath to work with `Arc<Root>` instead of Root
[INFO] [stderr]     |                                         +         +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:479:44
[INFO] [stderr]     |
[INFO] [stderr] 479 |     /// Adapt this keypath to work with Box<Root> instead of Root
[INFO] [stderr]     |                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 479 |     /// Adapt this keypath to work with `Box<Root>` instead of Root
[INFO] [stderr]     |                                         +         +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:491:43
[INFO] [stderr]     |
[INFO] [stderr] 491 |     /// Adapt this keypath to work with Rc<Root> instead of Root
[INFO] [stderr]     |                                           ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 491 |     /// Adapt this keypath to work with `Rc<Root>` instead of Root
[INFO] [stderr]     |                                         +        +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Root`
[INFO] [stderr]    --> src/lib.rs:503:47
[INFO] [stderr]     |
[INFO] [stderr] 503 |     /// Adapt this keypath to work with Option<Root> instead of Root
[INFO] [stderr]     |                                               ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]     |
[INFO] [stderr] 503 |     /// Adapt this keypath to work with `Option<Root>` instead of Root
[INFO] [stderr]     |                                         +            +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `Value`
[INFO] [stderr]     --> src/lib.rs:1428:83
[INFO] [stderr]      |
[INFO] [stderr] 1428 | /// Leverages the existing Kp architecture where optionals are built-in via Option<Value>
[INFO] [stderr]      |                                                                                   ^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1428 | /// Leverages the existing Kp architecture where optionals are built-in via `Option<Value>`
[INFO] [stderr]      |                                                                             +             +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]     --> src/lib.rs:1650:24
[INFO] [stderr]      |
[INFO] [stderr] 1650 | /// Extract from Option<T> - Some variant
[INFO] [stderr]      |                        ^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1650 | /// Extract from `Option<T>` - Some variant
[INFO] [stderr]      |                  +         +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]     --> src/lib.rs:1692:40
[INFO] [stderr]      |
[INFO] [stderr] 1692 | /// Create a keypath for unwrapping Box<T> -> T
[INFO] [stderr]      |                                        ^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1692 | /// Create a keypath for unwrapping `Box<T>` -> T
[INFO] [stderr]      |                                     +      +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]     --> src/lib.rs:1707:40
[INFO] [stderr]      |
[INFO] [stderr] 1707 | /// Create a keypath for unwrapping Arc<T> -> T (read-only)
[INFO] [stderr]      |                                        ^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1707 | /// Create a keypath for unwrapping `Arc<T>` -> T (read-only)
[INFO] [stderr]      |                                     +      +
[INFO] [stderr] 
[INFO] [stderr] warning: unclosed HTML tag `T`
[INFO] [stderr]     --> src/lib.rs:1731:39
[INFO] [stderr]      |
[INFO] [stderr] 1731 | /// Create a keypath for unwrapping Rc<T> -> T (read-only)
[INFO] [stderr]      |                                       ^^^
[INFO] [stderr]      |
[INFO] [stderr] help: try marking as source code
[INFO] [stderr]      |
[INFO] [stderr] 1731 | /// Create a keypath for unwrapping `Rc<T>` -> T (read-only)
[INFO] [stderr]      |                                     +     +
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-key-paths` (lib doc) generated 25 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] [stderr]    Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rust_key_paths/index.html
[INFO] running `Command { std: "docker" "inspect" "696862bf9cbef6d94f101e2bc87ca0e9f4a211cecdf7f0809f93fdaa3773c5f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "696862bf9cbef6d94f101e2bc87ca0e9f4a211cecdf7f0809f93fdaa3773c5f4", kill_on_drop: false }`
[INFO] [stdout] 696862bf9cbef6d94f101e2bc87ca0e9f4a211cecdf7f0809f93fdaa3773c5f4