libvctrl_handler 5.0.1

Fundamental contracts for building a version control system – no implementations, only traits and types
Documentation

Build #4156969 2026-08-17 14:19:58

# rustc version rustc 1.100.0-nightly (34baba539 2026-08-16)

# docs.rs version docsrs 0.0.0 (b67fb7d1993e3c70fff4d05e2bc482bd9d0d774f 2026-08-13 )

# 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" "342bbe14b31b9b1d0d677d29dbbcd963785c123efb19ee50182c3c066ea4a069" "/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\", \"-20260816-1.100.0-nightly-34baba539\", \"--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\"" "-j6" "--target" "x86_64-unknown-linux-gnu" "-Zrustdoc-scrape-examples", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting libvctrl_handler v5.0.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `entry_mode` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] Constants like [`HASH_LENGTH`] and the modes in [`entry_mode`] are dictated by the Git [INFO] [stderr] ^^^^^^^^^^^^ [INFO] [stderr] = note: no item named `entry_mode` in scope [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 `EntryKind` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] enumerations. By using [`EntryKind`], the compiler enforces exhaustive matching, [INFO] [stderr] ^^^^^^^^^^^ [INFO] [stderr] = note: no item named `EntryKind` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `object_store` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Storage**: [`object_store`], [`pack`] [INFO] [stderr] ^^^^^^^^^^^^^^ [INFO] [stderr] = note: no item named `object_store` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `pack` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Storage**: [`object_store`], [`pack`] [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: no item named `pack` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ref_store` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **State**: [`ref_store`], [`reflog`], [`index`] [INFO] [stderr] ^^^^^^^^^^^ [INFO] [stderr] = note: no item named `ref_store` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `reflog` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **State**: [`ref_store`], [`reflog`], [`index`] [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `reflog` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `index` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **State**: [`ref_store`], [`reflog`], [`index`] [INFO] [stderr] ^^^^^^^ [INFO] [stderr] = note: no item named `index` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `encoder` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Serialization**: [`encoder`], [`decoder`], [`hasher`] [INFO] [stderr] ^^^^^^^^^ [INFO] [stderr] = note: no item named `encoder` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `decoder` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Serialization**: [`encoder`], [`decoder`], [`hasher`] [INFO] [stderr] ^^^^^^^^^ [INFO] [stderr] = note: no item named `decoder` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `hasher` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Serialization**: [`encoder`], [`decoder`], [`hasher`] [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `hasher` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `diff` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Analysis**: [`diff`], [`blame`], [`revwalk`] [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: no item named `diff` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `blame` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Analysis**: [`diff`], [`blame`], [`revwalk`] [INFO] [stderr] ^^^^^^^ [INFO] [stderr] = note: no item named `blame` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `revwalk` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Analysis**: [`diff`], [`blame`], [`revwalk`] [INFO] [stderr] ^^^^^^^^^ [INFO] [stderr] = note: no item named `revwalk` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `signer` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Security**: [`signer`], [`verifier`] [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `signer` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `verifier` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Security**: [`signer`], [`verifier`] [INFO] [stderr] ^^^^^^^^^^ [INFO] [stderr] = note: no item named `verifier` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `remote` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Networking**: [`remote`], [`transport`] [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `remote` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `transport` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Networking**: [`remote`], [`transport`] [INFO] [stderr] ^^^^^^^^^^^ [INFO] [stderr] = note: no item named `transport` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `config` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] - **Configuration**: [`config`] [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `config` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `BlameEntry` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] The [`BlameEntry`] struct is constructed via a fallible constructor (`new`). This ensures [INFO] [stderr] ^^^^^^^^^^^^ [INFO] [stderr] = note: no item named `BlameEntry` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Blob` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] strongly-typed Git domain objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]). [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: no item named `Blob` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tree` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] strongly-typed Git domain objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]). [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: no item named `Tree` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Commit` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] strongly-typed Git domain objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]). [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `Commit` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tag` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] strongly-typed Git domain objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]). [INFO] [stderr] ^^^^^ [INFO] [stderr] = note: no item named `Tag` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Blob` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]) into raw byte streams. [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: no item named `Blob` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tree` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]) into raw byte streams. [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: no item named `Tree` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Commit` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]) into raw byte streams. [INFO] [stderr] ^^^^^^^^ [INFO] [stderr] = note: no item named `Commit` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tag` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] objects ([`Blob`], [`Tree`], [`Commit`], [`Tag`]) into raw byte streams. [INFO] [stderr] ^^^^^ [INFO] [stderr] = note: no item named `Tag` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RefStore::list_refs` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] The [`RefStore::list_refs`] method returns a custom associated iterator type [INFO] [stderr] ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: no item named `RefStore` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RevWalk::walk` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] The [`RevWalk::walk`] method returns an iterator, enforcing lazy evaluation. [INFO] [stderr] ^^^^^^^^^^^^^^^ [INFO] [stderr] = note: no item named `RevWalk` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tree` [INFO] [stderr] --> src/types/core/commit.rs:125:29 [INFO] [stderr] | [INFO] [stderr] 125 | /// by a user. It links a [`Tree`] to its parent commits, forming the history graph. [INFO] [stderr] | ^^^^ no item named `Tree` 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/enums/mod.rs:35:36 [INFO] [stderr] | [INFO] [stderr] 35 | /// Re-export of the [`EntryKind`](core::entry_kind::EntryKind) enum for ergonomic access. [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] 35 - /// Re-export of the [`EntryKind`](core::entry_kind::EntryKind) enum for ergonomic access. [INFO] [stderr] 35 + /// Re-export of the [`EntryKind`] enum for ergonomic access. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [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] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/blob.rs:52:35 [INFO] [stderr] | [INFO] [stderr] 52 | /// against [`MAX_BLOB_SIZE`](crate::constants::MAX_BLOB_SIZE). The downcast [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] 52 - /// against [`MAX_BLOB_SIZE`](crate::constants::MAX_BLOB_SIZE). The downcast [INFO] [stderr] 52 + /// against [`MAX_BLOB_SIZE`]. The downcast [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/commit.rs:189:64 [INFO] [stderr] | [INFO] [stderr] 189 | /// 1. Checks `parents.len()` against [`MAX_PARENT_COUNT`](crate::constants::MAX_PARENT_COUNT). [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] 189 - /// 1. Checks `parents.len()` against [`MAX_PARENT_COUNT`](crate::constants::MAX_PARENT_COUNT). [INFO] [stderr] 189 + /// 1. Checks `parents.len()` against [`MAX_PARENT_COUNT`]. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/commit.rs:191:66 [INFO] [stderr] | [INFO] [stderr] 191 | /// 2. Checks `message.len()` against [`MAX_MESSAGE_LENGTH`](crate::constants::MAX_MESSAGE_LENGTH). [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] 191 - /// 2. Checks `message.len()` against [`MAX_MESSAGE_LENGTH`](crate::constants::MAX_MESSAGE_LENGTH). [INFO] [stderr] 191 + /// 2. Checks `message.len()` against [`MAX_MESSAGE_LENGTH`]. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/tag.rs:98:34 [INFO] [stderr] | [INFO] [stderr] 98 | /// [`validate_ref_name`](crate::validation::validate_ref_name). This rejects [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] 98 - /// [`validate_ref_name`](crate::validation::validate_ref_name). This rejects [INFO] [stderr] 98 + /// [`validate_ref_name`]. This rejects [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/tag.rs:100:66 [INFO] [stderr] | [INFO] [stderr] 100 | /// 2. Checks `message.len()` against [`MAX_MESSAGE_LENGTH`](crate::constants::MAX_MESSAGE_LENGTH). [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] 100 - /// 2. Checks `message.len()` against [`MAX_MESSAGE_LENGTH`](crate::constants::MAX_MESSAGE_LENGTH). [INFO] [stderr] 100 + /// 2. Checks `message.len()` against [`MAX_MESSAGE_LENGTH`]. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/tree.rs:55:51 [INFO] [stderr] | [INFO] [stderr] 55 | /// Delegates to [`validate_tree_entry_name`](crate::validation::validate_tree_entry_name) [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] 55 - /// Delegates to [`validate_tree_entry_name`](crate::validation::validate_tree_entry_name) [INFO] [stderr] 55 + /// Delegates to [`validate_tree_entry_name`] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/tree.rs:120:64 [INFO] [stderr] | [INFO] [stderr] 120 | /// 1. Checks the entry count against [`MAX_TREE_ENTRIES`](crate::constants::MAX_TREE_ENTRIES). [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] 120 - /// 1. Checks the entry count against [`MAX_TREE_ENTRIES`](crate::constants::MAX_TREE_ENTRIES). [INFO] [stderr] 120 + /// 1. Checks the entry count against [`MAX_TREE_ENTRIES`]. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/user_id.rs:30:33 [INFO] [stderr] | [INFO] [stderr] 30 | /// exceeds [`MAX_NAME_LENGTH`](crate::constants::MAX_NAME_LENGTH), neither contains [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] 30 - /// exceeds [`MAX_NAME_LENGTH`](crate::constants::MAX_NAME_LENGTH), neither contains [INFO] [stderr] 30 + /// exceeds [`MAX_NAME_LENGTH`], neither contains [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/validation/mod.rs:51:42 [INFO] [stderr] | [INFO] [stderr] 51 | /// Re-export of [`validate_hash_bytes`](hash::validate_hash_bytes) for ergonomic top-level access. [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] 51 - /// Re-export of [`validate_hash_bytes`](hash::validate_hash_bytes) for ergonomic top-level access. [INFO] [stderr] 51 + /// Re-export of [`validate_hash_bytes`] for ergonomic top-level access. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/lib.rs:34:24 [INFO] [stderr] | [INFO] [stderr] 34 | //! Creating a valid [`Hash`] and inspecting an [`EntryKind`]: [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 34 | //! Creating a valid [`struct@Hash`] and inspecting an [`EntryKind`]: [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 34 | //! Creating a valid [`derive@Hash`] and inspecting an [`EntryKind`]: [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/blame.rs:27:54 [INFO] [stderr] | [INFO] [stderr] 27 | /// The struct holds a reference to the committing [`Hash`], the 1-based line number range, [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 27 | /// The struct holds a reference to the committing [`struct@Hash`], the 1-based line number range, [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 27 | /// The struct holds a reference to the committing [`derive@Hash`], the 1-based line number range, [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/blame.rs:112:19 [INFO] [stderr] | [INFO] [stderr] 112 | /// Because [`Hash`] is a `Copy` type (a fixed-size array wrapper), this accessor returns [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 112 | /// Because [`struct@Hash`] is a `Copy` type (a fixed-size array wrapper), this accessor returns [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 112 | /// Because [`derive@Hash`] is a `Copy` type (a fixed-size array wrapper), this accessor returns [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/hasher.rs:79:11 [INFO] [stderr] | [INFO] [stderr] 79 | /// [`Hash`]. This ensures that the hash is always the correct length (64 bytes for [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 79 | /// [`struct@Hash`]. This ensures that the hash is always the correct length (64 bytes for [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 79 | /// [`derive@Hash`]. This ensures that the hash is always the correct length (64 bytes for [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/object_store.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | /// The store maps [`Hash`] keys to raw byte payloads. Write operations (`put`, [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 33 | /// The store maps [`struct@Hash`] keys to raw byte payloads. Write operations (`put`, [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 33 | /// The store maps [`derive@Hash`] keys to raw byte payloads. Write operations (`put`, [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/object_store.rs:93:38 [INFO] [stderr] | [INFO] [stderr] 93 | /// Accepts a reference to the [`Hash`] and a byte slice of the object's raw, [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 93 | /// Accepts a reference to the [`struct@Hash`] and a byte slice of the object's raw, [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 93 | /// Accepts a reference to the [`derive@Hash`] and a byte slice of the object's raw, [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/object_store.rs:130:38 [INFO] [stderr] | [INFO] [stderr] 130 | /// Looks up the object by its [`Hash`] and returns a boxed reader. The reader [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 130 | /// Looks up the object by its [`struct@Hash`] and returns a boxed reader. The reader [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 130 | /// Looks up the object by its [`derive@Hash`] and returns a boxed reader. The reader [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/object_store.rs:172:37 [INFO] [stderr] | [INFO] [stderr] 172 | /// Locates the object by its [`Hash`] and removes it from the underlying storage. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 172 | /// Locates the object by its [`struct@Hash`] and removes it from the underlying storage. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 172 | /// Locates the object by its [`derive@Hash`] and removes it from the underlying storage. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/ref_store.rs:32:65 [INFO] [stderr] | [INFO] [stderr] 32 | /// The store maintains a mapping between reference names and [`Hash`] values. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 32 | /// The store maintains a mapping between reference names and [`struct@Hash`] values. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 32 | /// The store maintains a mapping between reference names and [`derive@Hash`] values. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/ref_store.rs:142:72 [INFO] [stderr] | [INFO] [stderr] 142 | /// Looks up the reference by name and returns the corresponding [`Hash`]. Takes [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 142 | /// Looks up the reference by name and returns the corresponding [`struct@Hash`]. Takes [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 142 | /// Looks up the reference by name and returns the corresponding [`derive@Hash`]. Takes [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] [`Hash`] requires exactly 64 bytes, [`Commit`] rejects duplicate parents). By [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: ambiguous link [INFO] [stderr] = help: to link to the struct, prefix with `struct@`: struct@Hash [INFO] [stderr] = help: to link to the derive macro, prefix with `derive@`: derive@Hash [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] Because [`Hash`] is `Copy`, inserting into the set requires no allocation, [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: ambiguous link [INFO] [stderr] = help: to link to the struct, prefix with `struct@`: struct@Hash [INFO] [stderr] = help: to link to the derive macro, prefix with `derive@`: derive@Hash [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/commit.rs:192:58 [INFO] [stderr] | [INFO] [stderr] 192 | /// 3. Iterates through `parents` and inserts each [`Hash`] into a `HashSet`. Because [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 192 | /// 3. Iterates through `parents` and inserts each [`struct@Hash`] into a `HashSet`. Because [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 192 | /// 3. Iterates through `parents` and inserts each [`derive@Hash`] into a `HashSet`. Because [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/commit.rs:259:43 [INFO] [stderr] | [INFO] [stderr] 259 | /// Returns a reference to the root [`Hash`] identifying the tree object associated [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 259 | /// Returns a reference to the root [`struct@Hash`] identifying the tree object associated [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 259 | /// Returns a reference to the root [`derive@Hash`] identifying the tree object associated [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] This module defines the [`Hash`] type, a fixed-size wrapper around a 64-byte [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: ambiguous link [INFO] [stderr] = help: to link to the struct, prefix with `struct@`: struct@Hash [INFO] [stderr] = help: to link to the derive macro, prefix with `derive@`: derive@Hash [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] the [`Hash`] type is inherently `Copy` and requires no heap allocation. This is a [INFO] [stderr] ^^^^^^ [INFO] [stderr] = note: ambiguous link [INFO] [stderr] = help: to link to the struct, prefix with `struct@`: struct@Hash [INFO] [stderr] = help: to link to the derive macro, prefix with `derive@`: derive@Hash [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/hash.rs:25:53 [INFO] [stderr] | [INFO] [stderr] 25 | /// generic array, the compiler guarantees that a [`Hash`] can never accidentally hold [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 25 | /// generic array, the compiler guarantees that a [`struct@Hash`] can never accidentally hold [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 25 | /// generic array, the compiler guarantees that a [`derive@Hash`] can never accidentally hold [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/merge.rs:29:46 [INFO] [stderr] | [INFO] [stderr] 29 | /// The struct holds the file path and the [`Hash`] of the blob in each of the [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 29 | /// The struct holds the file path and the [`struct@Hash`] of the blob in each of the [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 29 | /// The struct holds the file path and the [`derive@Hash`] of the blob in each of the [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/reflog.rs:31:75 [INFO] [stderr] | [INFO] [stderr] 31 | /// The struct stores the old and new hashes as `Option<Hash>`. Because [`Hash`] is [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 31 | /// The struct stores the old and new hashes as `Option<Hash>`. Because [`struct@Hash`] is [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 31 | /// The struct stores the old and new hashes as `Option<Hash>`. Because [`derive@Hash`] is [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/tag.rs:160:38 [INFO] [stderr] | [INFO] [stderr] 160 | /// Returns a reference to the [`Hash`] identifying the object this tag points to [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 160 | /// Returns a reference to the [`struct@Hash`] identifying the object this tag points to [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 160 | /// Returns a reference to the [`derive@Hash`] identifying the object this tag points to [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/tree.rs:26:46 [INFO] [stderr] | [INFO] [stderr] 26 | /// ([`EntryKind`]), and its content hash ([`Hash`]). By requiring construction [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 26 | /// ([`EntryKind`]), and its content hash ([`struct@Hash`]). By requiring construction [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 26 | /// ([`EntryKind`]), and its content hash ([`derive@Hash`]). By requiring construction [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/hash.rs:112:39 [INFO] [stderr] | [INFO] [stderr] 112 | /// Converts a raw array into a [`Hash`]. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 112 | /// Converts a raw array into a [`struct@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 112 | /// Converts a raw array into a [`derive@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/hash.rs:125:51 [INFO] [stderr] | [INFO] [stderr] 125 | /// Attempts to convert a byte slice into a [`Hash`]. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 125 | /// Attempts to convert a byte slice into a [`struct@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 125 | /// Attempts to convert a byte slice into a [`derive@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/hash.rs:139:22 [INFO] [stderr] | [INFO] [stderr] 139 | /// Allows the [`Hash`] to be used with APIs that expect `AsRef<[u8]>`, providing [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 139 | /// Allows the [`struct@Hash`] to be used with APIs that expect `AsRef<[u8]>`, providing [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 139 | /// Allows the [`derive@Hash`] to be used with APIs that expect `AsRef<[u8]>`, providing [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/hash.rs:150:46 [INFO] [stderr] | [INFO] [stderr] 150 | /// Parses a hexadecimal string into a [`Hash`]. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 150 | /// Parses a hexadecimal string into a [`struct@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 150 | /// Parses a hexadecimal string into a [`derive@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `libvctrl_handler` (lib doc) generated 79 warnings (13 duplicates) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/libvctrl_handler/index.html [INFO] running `Command { std: "docker" "inspect" "342bbe14b31b9b1d0d677d29dbbcd963785c123efb19ee50182c3c066ea4a069", kill_on_drop: false }`