libvctrl_handler 4.4.0

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

Build #4113375 2026-08-12 13:57:14

# rustc version rustc 1.99.0-nightly (3d6c19bb9 2026-08-11)

# docs.rs version docsrs 0.0.0 (34a12160ded44b303795066b8c53e4bdae865e51 2026-08-11 )

# 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" "8c8a0f0e0bfb521c2790b6c99e3c7db9722475b07359e7412fae3fff949e5f12" "/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\", \"-20260811-1.99.0-nightly-3d6c19bb9\", \"--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 v4.4.0 (/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] - **Wire Format Separation**: The [`entry_mode`] submodule isolates raw [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] Definition of the [`EntryKind`] enum. [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 `EntryKind` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] ([`EntryKind`]) that distinguishes between regular files, executable [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 `Blob` [INFO] [stderr] --> src/enums/core/entry_kind.rs:132:27 [INFO] [stderr] | [INFO] [stderr] 132 | /// data is still a [`Blob`]; the executable flag is stored at the tree [INFO] [stderr] | ^^^^ no item named `Blob` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Display` [INFO] [stderr] | [INFO] [stderr] = note: the link appears in this line: [INFO] [stderr] [INFO] [stderr] [`VctrlError`] is a plain enum. The [`Display`] implementation formats each [INFO] [stderr] ^^^^^^^^^ [INFO] [stderr] = note: no item named `Display` in scope [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::traits::ObjectStore` [INFO] [stderr] --> src/errors.rs:93:69 [INFO] [stderr] | [INFO] [stderr] 93 | /// Occurs when an object is requested from the [`ObjectStore`](crate::traits::ObjectStore) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `ObjectStore` in module `traits` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::traits::RefStore` [INFO] [stderr] --> src/errors.rs:97:68 [INFO] [stderr] | [INFO] [stderr] 97 | /// Occurs when a reference is requested from the [`RefStore`](crate::traits::RefStore) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ no item named `RefStore` in module `traits` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Encoder` [INFO] [stderr] --> src/traits/core/decoder.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | /// It is the inverse of [`Encoder`]. [INFO] [stderr] | ^^^^^^^ no item named `Encoder` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ObjectStore` [INFO] [stderr] --> src/traits/core/encoder.rs:14:63 [INFO] [stderr] | [INFO] [stderr] 14 | /// [`Commit`] into byte vectors suitable for storage in an [`ObjectStore`] [INFO] [stderr] | ^^^^^^^^^^^ no item named `ObjectStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Transport` [INFO] [stderr] --> src/traits/core/encoder.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | /// or transmission via a [`Transport`]. [INFO] [stderr] | ^^^^^^^^^ no item named `Transport` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ObjectStore` [INFO] [stderr] --> src/traits/core/ref_store.rs:16:49 [INFO] [stderr] | [INFO] [stderr] 16 | /// References are stored separately from the [`ObjectStore`] because they [INFO] [stderr] | ^^^^^^^^^^^ no item named `ObjectStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Commit` [INFO] [stderr] --> src/traits/core/signer.rs:10:42 [INFO] [stderr] | [INFO] [stderr] 10 | /// to attest to the authenticity of a [`Commit`] or [`Tag`]. [INFO] [stderr] | ^^^^^^ no item named `Commit` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tag` [INFO] [stderr] --> src/traits/core/signer.rs:10:56 [INFO] [stderr] | [INFO] [stderr] 10 | /// to attest to the authenticity of a [`Commit`] or [`Tag`]. [INFO] [stderr] | ^^^ no item named `Tag` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ObjectStore` [INFO] [stderr] --> src/traits/core/transport.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | /// [`ObjectStore`] and a remote endpoint. [INFO] [stderr] | ^^^^^^^^^^^ no item named `ObjectStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ObjectStore` [INFO] [stderr] --> src/traits/core/transport.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | /// distinct from [`ObjectStore`] to allow the local store to be disk-based [INFO] [stderr] | ^^^^^^^^^^^ no item named `ObjectStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Self::data` [INFO] [stderr] --> src/types/core/blob.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | //! - **Efficiency**: Access via [`data()`](Self::data) returns a `&[u8]` with no [INFO] [stderr] | ^^^^^^^^^^ no item named `data` in module `blob` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Self::size` [INFO] [stderr] --> src/types/core/blob.rs:15:47 [INFO] [stderr] | [INFO] [stderr] 15 | //! allocation, and methods like [`size()`](Self::size) are `const` for [INFO] [stderr] | ^^^^^^^^^^ no item named `size` in module `blob` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Commit` [INFO] [stderr] --> src/types/core/hash.rs:21:37 [INFO] [stderr] | [INFO] [stderr] 21 | /// storage in other types like [`Commit`] and [`Tree`]. [INFO] [stderr] | ^^^^^^ no item named `Commit` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Tree` [INFO] [stderr] --> src/types/core/hash.rs:21:52 [INFO] [stderr] | [INFO] [stderr] 21 | /// storage in other types like [`Commit`] and [`Tree`]. [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: public documentation for `tag` links to private item `crate::types::validate_name` [INFO] [stderr] --> src/types/core/tag.rs:11:25 [INFO] [stderr] | [INFO] [stderr] 11 | //! [`validate_name`](crate::types::validate_name) function, which enforces [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: public documentation for `new` links to private item `validate_name` [INFO] [stderr] --> src/types/core/tag.rs:65:39 [INFO] [stderr] | [INFO] [stderr] 65 | /// The `name` is validated via [`validate_name`] and must be non‑empty [INFO] [stderr] | ^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `new` [INFO] [stderr] --> src/types/core/tag.rs:130:44 [INFO] [stderr] | [INFO] [stderr] 130 | /// This constructor is identical to [`new`] except that it also accepts a [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: public documentation for `tree` links to private item `crate::types::validate_tree_entry_name` [INFO] [stderr] --> src/types/core/tree.rs:16:36 [INFO] [stderr] | [INFO] [stderr] 16 | //! [`validate_tree_entry_name`](crate::types::validate_tree_entry_name), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Blob` [INFO] [stderr] --> src/types/core/tree.rs:121:54 [INFO] [stderr] | [INFO] [stderr] 121 | /// zero or more entries, each referencing a file ([`Blob`]) or subdirectory [INFO] [stderr] | ^^^^ no item named `Blob` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `UserID` links to private item `validate_name` [INFO] [stderr] --> src/types/core/user_id.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | /// length (enforced by [`validate_name`]). [INFO] [stderr] | ^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `VctrlError::Other` [INFO] [stderr] --> src/macros.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | /// Creates a [`VctrlError::Other`] variant with a formatted message. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `VctrlError` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `VctrlError::Other` [INFO] [stderr] --> src/macros.rs:11:31 [INFO] [stderr] | [INFO] [stderr] 11 | /// and wraps the result in [`VctrlError::Other`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `VctrlError` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `VctrlError` [INFO] [stderr] --> src/macros.rs:41:66 [INFO] [stderr] | [INFO] [stderr] 41 | /// Helper macro to generate the `string_payload` function for [`VctrlError`]. [INFO] [stderr] | ^^^^^^^^^^ no item named `VctrlError` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `VctrlError` [INFO] [stderr] --> src/macros.rs:44:7 [INFO] [stderr] | [INFO] [stderr] 44 | /// [`VctrlError`] to extract the string payload from all variants that carry [INFO] [stderr] | ^^^^^^^^^^ no item named `VctrlError` 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] | [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] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/errors.rs:82:45 [INFO] [stderr] | [INFO] [stderr] 82 | /// Occurs when constructing a [`Hash`](crate::Hash) from a byte slice [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] 82 - /// Occurs when constructing a [`Hash`](crate::Hash) from a byte slice [INFO] [stderr] 82 + /// Occurs when constructing a [`Hash`] from a byte slice [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/tag.rs:11:25 [INFO] [stderr] | [INFO] [stderr] 11 | //! [`validate_name`](crate::types::validate_name) function, which enforces [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] 11 - //! [`validate_name`](crate::types::validate_name) function, which enforces [INFO] [stderr] 11 + //! [`validate_name`] function, which enforces [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/types/core/tree.rs:16:36 [INFO] [stderr] | [INFO] [stderr] 16 | //! [`validate_tree_entry_name`](crate::types::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] 16 - //! [`validate_tree_entry_name`](crate::types::validate_tree_entry_name), [INFO] [stderr] 16 + //! [`validate_tree_entry_name`], [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/lib.rs:44:64 [INFO] [stderr] | [INFO] [stderr] 44 | //! - Data types from [`types`] (e.g., [`Blob`], [`Commit`], [`Hash`]) are re-exported. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 44 | //! - Data types from [`types`] (e.g., [`Blob`], [`Commit`], [`struct@Hash`]) are re-exported. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 44 | //! - Data types from [`types`] (e.g., [`Blob`], [`Commit`], [`derive@Hash`]) are re-exported. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/hasher.rs:6:57 [INFO] [stderr] | [INFO] [stderr] 6 | /// Defines the interface for hashing raw data into a [`Hash`]. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 6 | /// Defines the interface for hashing raw data into a [`struct@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 6 | /// Defines the interface for hashing raw data into a [`derive@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/hasher.rs:37:36 [INFO] [stderr] | [INFO] [stderr] 37 | /// Computes a cryptographic [`Hash`] from the provided byte slice. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 37 | /// Computes a cryptographic [`struct@Hash`] from the provided byte slice. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 37 | /// Computes a cryptographic [`derive@Hash`] from the provided byte slice. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/object_store.rs:13:7 [INFO] [stderr] | [INFO] [stderr] 13 | /// [`Hash`] as the primary key. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 13 | /// [`struct@Hash`] as the primary key. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 13 | /// [`derive@Hash`] as the primary key. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/traits/core/ref_store.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | /// to specific [`Hash`]es. This allows tracking branches and tags without [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 11 | /// to specific [`struct@Hash`]es. This allows tracking branches and tags without [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 11 | /// to specific [`derive@Hash`]es. This allows tracking branches and tags without [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] [`Commit`], [`Tag`], and supporting types like [`Hash`] and [`UserID`]. [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] [`Blob`], [`Tree`], [`Commit`], [`Tag`], [`Hash`], and supporting types like [`UserID`]. [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] [`Commit`], [`CommitMeta`], [`Hash`], [`Tag`], [`Tree`], [`TreeEntry`], and [`UserID`]. [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] - A [`Tree`] contains [`TreeEntry`] items, each associating a name with a [`Hash`]. [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] - A [`Blob`] represents raw file content and is referred to by a [`Hash`] stored in 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:3:27 [INFO] [stderr] | [INFO] [stderr] 3 | //! This module defines [`Hash`], a fixed‑size cryptographic digest that [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 3 | //! This module defines [`struct@Hash`], a fixed‑size cryptographic digest that [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 3 | //! This module defines [`derive@Hash`], a fixed‑size cryptographic digest that [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/tag.rs:30:25 [INFO] [stderr] | [INFO] [stderr] 30 | /// identified by its [`Hash`]. It records who created the tag, an optional [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 30 | /// identified by its [`struct@Hash`]. It records who created the tag, an optional [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 30 | /// identified by its [`derive@Hash`]. It records who created the tag, an optional [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/tag.rs:72:28 [INFO] [stderr] | [INFO] [stderr] 72 | /// * `target` - The [`Hash`] of the object being tagged. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 72 | /// * `target` - The [`struct@Hash`] of the object being tagged. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 72 | /// * `target` - The [`derive@Hash`] of the object being tagged. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/tree.rs:4:41 [INFO] [stderr] | [INFO] [stderr] 4 | //! a file or directory name with its [`Hash`] and the kind of object it [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 4 | //! a file or directory name with its [`struct@Hash`] and the kind of object it [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 4 | //! a file or directory name with its [`derive@Hash`] and the kind of object it [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/mod.rs:47:72 [INFO] [stderr] | [INFO] [stderr] 47 | /// simplest object in the system and is content-addressable via its [`Hash`]. [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 47 | /// simplest object in the system and is content-addressable via its [`struct@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 47 | /// simplest object in the system and is content-addressable via its [`derive@Hash`]. [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/mod.rs:88:7 [INFO] [stderr] | [INFO] [stderr] 88 | /// [`Hash`] is a fixed-size cryptographic digest (e.g., SHA-256) that [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 88 | /// [`struct@Hash`] is a fixed-size cryptographic digest (e.g., SHA-256) that [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 88 | /// [`derive@Hash`] is a fixed-size cryptographic digest (e.g., SHA-256) that [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/mod.rs:104:66 [INFO] [stderr] | [INFO] [stderr] 104 | /// A [`Tag`] associates a human-readable name with a specific [`Hash`] and [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 104 | /// A [`Tag`] associates a human-readable name with a specific [`struct@Hash`] and [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 104 | /// A [`Tag`] associates a human-readable name with a specific [`derive@Hash`] and [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/types/core/mod.rs:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | /// name and a [`Hash`]. Trees reference both blobs (files) and other trees [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 123 | /// name and a [`struct@Hash`]. Trees reference both blobs (files) and other trees [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 123 | /// name and a [`derive@Hash`]. Trees reference both blobs (files) and other trees [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `Hash` is both a struct and a derive macro [INFO] [stderr] --> src/lib.rs:307:31 [INFO] [stderr] | [INFO] [stderr] 307 | /// their supporting types ([`Hash`], [`UserID`], [`CommitMeta`], [INFO] [stderr] | ^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the struct, prefix with `struct@` [INFO] [stderr] | [INFO] [stderr] 307 | /// their supporting types ([`struct@Hash`], [`UserID`], [`CommitMeta`], [INFO] [stderr] | +++++++ [INFO] [stderr] help: to link to the derive macro, prefix with `derive@` [INFO] [stderr] | [INFO] [stderr] 307 | /// their supporting types ([`derive@Hash`], [`UserID`], [`CommitMeta`], [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `libvctrl_handler` (lib doc) generated 52 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/libvctrl_handler/index.html [INFO] running `Command { std: "docker" "inspect" "8c8a0f0e0bfb521c2790b6c99e3c7db9722475b07359e7412fae3fff949e5f12", kill_on_drop: false }`