[INFO] cloning repository https://github.com/sloev/spore
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sloev/spore" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsloev%2Fspore", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsloev%2Fspore'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a6ec78241e5b52fb45d61edddeaeab639f00b268
[INFO] documenting sloev/spore against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsloev%2Fspore" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sloev/spore
[INFO] finished tweaking git repo https://github.com/sloev/spore
[INFO] tweaked toml for git repo https://github.com/sloev/spore written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sloev/spore on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sloev/spore already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf
[INFO] running `Command { std: "docker" "start" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf", kill_on_drop: false }`
[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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf", kill_on_drop: false }`
[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" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking crypto_secretbox v0.1.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking crypto_box v0.9.1
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]  Documenting spore v0.7.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: public documentation for `Ratchet` links to private item `SkippedKey`
[INFO] [stdout]   --> src/ratchet.rs:91:68
[INFO] [stdout]    |
[INFO] [stdout] 91 | /// Secret fields are zeroized on drop; skipped keys zeroize via [`SkippedKey`].
[INFO] [stdout]    |                                                                    ^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout]    = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `SpillBackend` links to private item `Store`
[INFO] [stdout]    --> src/store.rs:114:47
[INFO] [stdout]     |
[INFO] [stdout] 114 | /// exactly one envelope, expiry — stays in [`Store`], because a backend is by
[INFO] [stdout]     |                                               ^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `get` links to private item `MAX_ADOPT_BYTES`
[INFO] [stdout]    --> src/store.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 |     /// [`MAX_ADOPT_BYTES`] — the caller treats all three identically, so a
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `VER`
[INFO] [stdout]   --> src/linkfrag.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 | /// First byte of a link fragment. Not [`VER`], so a whole envelope and a
[INFO] [stdout]    |                                          ^^^ no item named `VER` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `dropped` links to private item `MAX_FRAME`
[INFO] [stdout]   --> src/bridge/kiss_stream.rs:97:42
[INFO] [stdout]    |
[INFO] [stdout] 97 |     /// Frames abandoned for exceeding [`MAX_FRAME`] since this de-framer started.
[INFO] [stdout]    |                                          ^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `with_max` links to private item `MAX_NEIGHBOURS`
[INFO] [stdout]   --> src/bridge/neighbors.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     /// memory-tight hardware; [`MAX_NEIGHBOURS`] is the default.
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `web/transports/reticulum.mjs`
[INFO] [stdout]  --> src/bridge/reticulum.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`web/transports/reticulum.mjs`] does): envelopes travel as RNS packets, so
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `web/transports/reticulum.mjs` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `tools/reticulum_companion.py`
[INFO] [stdout]   --> src/bridge/reticulum.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | //! ([`tools/reticulum_companion.py`]) does the real RNS work with the canonical
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `tools/reticulum_companion.py` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `ax25` links to private item `super::kiss_stream`
[INFO] [stdout]  --> src/bridge/ax25.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! and it is already what [`super::kiss_stream`] speaks — so a TNC is a byte
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `spore::ANNOUNCE_FLOOD_MIN_SECS`
[INFO] [stdout]    --> src/bridge/hub.rs:266:12
[INFO] [stdout]     |
[INFO] [stdout] 266 |     /// ([`spore::ANNOUNCE_FLOOD_MIN_SECS`]); for the frequent beacon use
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `spore` in scope
[INFO] [stdout]     |
[INFO] [stdout] help: there's a similarly named item `store`
[INFO] [stdout]     |
[INFO] [stdout] 266 -     /// ([`spore::ANNOUNCE_FLOOD_MIN_SECS`]); for the frequent beacon use
[INFO] [stdout] 266 +     /// ([`store::ANNOUNCE_FLOOD_MIN_SECS`]); for the frequent beacon use
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Node::send_direct`
[INFO] [stdout]   --> src/direct.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! carried by the app over the ordinary sealed+signed [`Node::send_direct`] path
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^ no item named `Node` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send` links to private item `nonce`
[INFO] [stdout]    --> src/direct.rs:764:37
[INFO] [stdout]     |
[INFO] [stdout] 764 |     /// ChaCha20-Poly1305 nonce — [`nonce`] is ten zero bytes followed by it — and
[INFO] [stdout]     |                                     ^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `SpillBackend` links to private item `Store`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           exactly one envelope, expiry — stays in [`Store`], because a backend is by
[INFO] [stdout]                                                      ^^^^^^^
[INFO] [stdout]   = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/direct/runner.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`Signalling`](crate::direct::Signalling) decides and something has to open —
[INFO] [stdout]   |      ------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout]   = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`Signalling`](crate::direct::Signalling) decides and something has to open —
[INFO] [stdout] 3 + //! [`Signalling`] decides and something has to open —
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/store.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | / pub struct FsSpill {
[INFO] [stdout] 147 | |     dir: PathBuf,
[INFO] [stdout] 148 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near ``FsSpill` is what a daemon, desktop or Android node uses. `SpillBackend` is`
[INFO] [stdout]     = help: ends near `equivalent yet, which is why a tab is memory-only.`
[INFO] [stdout]     = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/store.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub trait SpillBackend: Send {
[INFO] [stdout] 123 | |     /// Store `wire` under `id`. Failure is deliberately not reported: a spill
[INFO] [stdout] 124 | |     /// that does not land leaves the entry memory-only, exactly as it would with
[INFO] [stdout] 125 | |     /// no backend at all.
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     fn ids(&self) -> Vec<Id>;
[INFO] [stdout] 140 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near ``FsSpill` is what a daemon, desktop or Android node uses. `SpillBackend` is`
[INFO] [stdout]     = help: ends near `**storage nutrient** a runtime supplies (see `docs/SPEC.md`).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `seal` is both a function and a module
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           §7 crypto — see [`seal`]. Extracted from this file unchanged; the public names
[INFO] [stdout]                               ^^^^^^
[INFO] [stdout]   = note: ambiguous link
[INFO] [stdout]   = help: to link to the function, add parentheses: seal()
[INFO] [stdout]   = help: to link to the module, prefix with `mod@`: mod@seal
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `seal` is both a function and a module
[INFO] [stdout]  --> src/topic.rs:9:67
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!    can't decrypt *past* traffic (hashing isn't reversible). [`seal`]/[`open`]
[INFO] [stdout]   |                                                                   ^^^^ ambiguous link
[INFO] [stdout]   |
[INFO] [stdout] help: to link to the function, add parentheses
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!    can't decrypt *past* traffic (hashing isn't reversible). [`seal()`]/[`open`]
[INFO] [stdout]   |                                                                       ++
[INFO] [stdout] help: to link to the module, prefix with `mod@`
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!    can't decrypt *past* traffic (hashing isn't reversible). [`mod@seal`]/[`open`]
[INFO] [stdout]   |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `mix` is both a function and a module
[INFO] [stdout]   --> src/topic.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | //! [`mix`] — `new = SHA-256(domain ‖ current ‖ contribution)`. An attacker holding
[INFO] [stdout]    |       ^^^ ambiguous link
[INFO] [stdout]    |
[INFO] [stdout] help: to link to the function, add parentheses
[INFO] [stdout]    |
[INFO] [stdout] 30 | //! [`mix()`] — `new = SHA-256(domain ‖ current ‖ contribution)`. An attacker holding
[INFO] [stdout]    |          ++
[INFO] [stdout] help: to link to the module, prefix with `mod@`
[INFO] [stdout]    |
[INFO] [stdout] 30 | //! [`mod@mix`] — `new = SHA-256(domain ‖ current ‖ contribution)`. An attacker holding
[INFO] [stdout]    |       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `crate::seal` is both a function and a module
[INFO] [stdout]   --> src/topic.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 | //!   itself to move, which is [`crate::seal`]'s daily-rotation story, not this
[INFO] [stdout]    |                                  ^^^^^^^^^^^ ambiguous link
[INFO] [stdout]    |
[INFO] [stdout] help: to link to the function, add parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 | //!   itself to move, which is [`crate::seal()`]'s daily-rotation story, not this
[INFO] [stdout]    |                                             ++
[INFO] [stdout] help: to link to the module, prefix with `mod@`
[INFO] [stdout]    |
[INFO] [stdout] 45 | //!   itself to move, which is [`mod@crate::seal`]'s daily-rotation story, not this
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `crate::seal` is both a function and a module
[INFO] [stdout]   --> src/topic.rs:55:32
[INFO] [stdout]    |
[INFO] [stdout] 55 | /// One sealed contribution: [`crate::seal`] of 32 bytes = 32-byte ephemeral
[INFO] [stdout]    |                                ^^^^^^^^^^^ ambiguous link
[INFO] [stdout]    |
[INFO] [stdout] help: to link to the function, add parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 | /// One sealed contribution: [`crate::seal()`] of 32 bytes = 32-byte ephemeral
[INFO] [stdout]    |                                           ++
[INFO] [stdout] help: to link to the module, prefix with `mod@`
[INFO] [stdout]    |
[INFO] [stdout] 55 | /// One sealed contribution: [`mod@crate::seal`] of 32 bytes = 32-byte ephemeral
[INFO] [stdout]    |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `spore`
[INFO] running `Command { std: "docker" "inspect" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf", kill_on_drop: false }`
[INFO] [stdout] e9398bcf1efe6540881e6d0d067e51903821c9893a472453204af8d954833daf
