[INFO] cloning repository https://github.com/weizhiao/elf_loader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/weizhiao/elf_loader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fweizhiao%2Felf_loader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fweizhiao%2Felf_loader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b18c7e3ad49c8be2fadef9261a921006e3103519
[INFO] documenting weizhiao/elf_loader against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fweizhiao%2Felf_loader" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/weizhiao/elf_loader
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/weizhiao/elf_loader
[INFO] tweaked toml for git repo https://github.com/weizhiao/elf_loader written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/weizhiao/elf_loader 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/weizhiao/elf_loader 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-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379
[INFO] running `Command { std: "docker" "start" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379", 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" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379", 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" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling elf_loader v0.17.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking spin v0.10.1
[INFO] [stderr]     Checking elf v0.8.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]  Documenting elf_loader v0.17.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `get_cstr`
[INFO] [stdout]    --> src/elf/symbol.rs:461:31
[INFO] [stdout]     |
[INFO] [stdout] 461 |     /// This method combines [get_cstr] and [convert_cstr] to directly return
[INFO] [stdout]     |                               ^^^^^^^^ no item named `get_cstr` 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: unresolved link to `convert_cstr`
[INFO] [stdout]    --> src/elf/symbol.rs:461:46
[INFO] [stdout]     |
[INFO] [stdout] 461 |     /// This method combines [get_cstr] and [convert_cstr] to directly return
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ no item named `convert_cstr` 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 `Relocator::run`
[INFO] [stdout]    --> src/relocation/traits.rs:319:51
[INFO] [stdout]     |
[INFO] [stdout] 319 | /// image with [`crate::Loader`] and pass it to [`Relocator::run`].
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ no item named `Relocator` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::Relocator::relocate`
[INFO] [stdout]    --> src/relocation/traits.rs:325:30
[INFO] [stdout]     |
[INFO] [stdout] 325 | /// [`Relocator::relocate`]: crate::Relocator::relocate
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `Relocator` has no field or associated item named `relocate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/elf/ehdr.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ElfClass(u8);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Core ELF data types for program headers, relocations, and symbols.`
[INFO] [stdout]    = help: ends near `Semantic wrapper for the ELF `EI_CLASS` field.`
[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/elf/ehdr.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ElfClass(u8);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Semantic wrapper for the ELF `EI_CLASS` field.`
[INFO] [stdout]    = help: ends near `Semantic wrapper for the ELF `EI_CLASS` field.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/elf/ehdr.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ElfFileType(u16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Core ELF data types for program headers, relocations, and symbols.`
[INFO] [stdout]     = help: ends near `Semantic wrapper for the ELF `e_type` field.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/elf/ehdr.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ElfFileType(u16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Semantic wrapper for the ELF `e_type` field.`
[INFO] [stdout]     = help: ends near `Semantic wrapper for the ELF `e_type` field.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/elf/ehdr.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / pub struct ElfHeader<L: ElfLayout = NativeElfLayout> {
[INFO] [stdout] 289 | |     /// The underlying ELF header structure
[INFO] [stdout] 290 | |     ehdr: L::Ehdr,
[INFO] [stdout] 291 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Core ELF data types for program headers, relocations, and symbols.`
[INFO] [stdout]     = help: ends near `A wrapper around the ELF header structure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/elf/ehdr.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / pub struct ElfHeader<L: ElfLayout = NativeElfLayout> {
[INFO] [stdout] 289 | |     /// The underlying ELF header structure
[INFO] [stdout] 290 | |     ehdr: L::Ehdr,
[INFO] [stdout] 291 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A wrapper around the ELF header structure`
[INFO] [stdout]     = help: ends near `A wrapper around the ELF header structure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/elf/ehdr.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct ElfMachine(u16);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Core ELF data types for program headers, relocations, and symbols.`
[INFO] [stdout]    = help: ends near `Semantic wrapper for the ELF `e_machine` field.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/elf/ehdr.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct ElfMachine(u16);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Semantic wrapper for the ELF `e_machine` field.`
[INFO] [stdout]    = help: ends near `Semantic wrapper for the ELF `e_machine` field.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/elf/ehdr.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | / pub struct ElfTarget {
[INFO] [stdout] 125 | |     class: ElfClass,
[INFO] [stdout] 126 | |     encoding: ElfDataEncoding,
[INFO] [stdout] 127 | |     machine: ElfMachine,
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Core ELF data types for program headers, relocations, and symbols.`
[INFO] [stdout]     = help: ends near `Architecture-relevant fields shared by every ELF header layout.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/elf/ehdr.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | / pub struct ElfTarget {
[INFO] [stdout] 125 | |     class: ElfClass,
[INFO] [stdout] 126 | |     encoding: ElfDataEncoding,
[INFO] [stdout] 127 | |     machine: ElfMachine,
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Architecture-relevant fields shared by every ELF header layout.`
[INFO] [stdout]     = help: ends near `Architecture-relevant fields shared by every ELF header layout.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/linker/driver.rs:22:63
[INFO] [stdout]    |
[INFO] [stdout] 22 | /// `modules` contains the newly loaded modules' [`ModuleId`](crate::linker::ModuleId)
[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] 22 - /// `modules` contains the newly loaded modules' [`ModuleId`](crate::linker::ModuleId)
[INFO] [stdout] 22 + /// `modules` contains the newly loaded modules' [`ModuleId`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/linker/driver.rs:81:36
[INFO] [stdout]    |
[INFO] [stdout] 81 | /// `Linker` combines a [`Loader`](crate::Loader), dependency resolver, and
[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] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 81 - /// `Linker` combines a [`Loader`](crate::Loader), dependency resolver, and
[INFO] [stdout] 81 + /// `Linker` combines a [`Loader`], dependency resolver, and
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/linker/driver.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 82 | /// [`Relocator`](crate::Relocator).
[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] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 82 - /// [`Relocator`](crate::Relocator).
[INFO] [stdout] 82 + /// [`Relocator`].
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/linker/driver.rs:84:45
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// dependency graph into a [`LinkContext`](crate::LinkContext).
[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] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 84 - /// dependency graph into a [`LinkContext`](crate::LinkContext).
[INFO] [stdout] 84 + /// dependency graph into a [`LinkContext`].
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `ThreadDtv`
[INFO] [stdout]   --> src/tls/manager.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 | /// We use Box<ThreadDtv> to ensure the pointer remains stable even if the map rebalances/grows.
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 80 | /// We use `Box<ThreadDtv>` to ensure the pointer remains stable even if the map rebalances/grows.
[INFO] [stdout]    |            +              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `elf_loader`
[INFO] running `Command { std: "docker" "inspect" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379", kill_on_drop: false }`
[INFO] [stdout] 549ceb8f30364d85cb33d7021dc0d0e1333879657716dfe8e3467ecbb98f8379
