[INFO] fetching crate color-ssh 0.9.1...
[INFO] documenting color-ssh-0.9.1 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate color-ssh 0.9.1 into /workspace/builds/worker-4-tc2/source
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate color-ssh 0.9.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate color-ssh 0.9.1
[INFO] tweaked toml for crates.io crate color-ssh 0.9.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate color-ssh 0.9.1 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 crates.io crate color-ssh 0.9.1 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-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196
[INFO] running `Command { std: "docker" "start" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196", 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" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196", 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" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196" "/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.186
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking compact_str v0.9.1
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]    Compiling inotify-sys v0.1.7
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]     Checking lru v0.18.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling noyalib v0.0.5
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling signal-hook v0.4.4
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]     Checking rustc-hash v2.1.3
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling doctest-file v1.1.1
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking hybrid-array v0.4.13
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking time v0.3.53
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking serial2 v0.2.37
[INFO] [stderr]     Checking which v8.0.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking interprocess v2.4.2
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking inotify v0.11.2
[INFO] [stderr]     Checking universal-hash v0.6.1
[INFO] [stderr]     Checking cipher v0.5.2
[INFO] [stderr]     Checking aead v0.6.1
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking poly1305 v0.9.0
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking chacha20poly1305 v0.11.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking filedescriptor v0.8.3
[INFO] [stderr]     Checking portable-pty v0.9.0
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking rustix-openpty v0.2.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking ratatui-core v0.1.2
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.2
[INFO] [stderr]     Checking ratatui-crossterm v0.1.2
[INFO] [stderr]     Checking vte v0.15.0
[INFO] [stderr]     Checking alacritty_terminal v0.26.0
[INFO] [stderr]     Checking ratatui-macros v0.7.2
[INFO] [stderr]     Checking ratatui v0.30.2
[INFO] [stderr]     Checking serde_yml v0.0.13
[INFO] [stderr]  Documenting color-ssh v0.9.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/client.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / pub struct AgentClient {
[INFO] [stdout] 26 | |     paths: VaultPaths,
[INFO] [stdout] 27 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Client for querying and controlling the local unlock agent.`
[INFO] [stdout]    = help: ends near `Client used by runtime command paths to communicate with the unlock agent.`
[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/auth/agent/client.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / pub struct AgentClient {
[INFO] [stdout] 26 | |     paths: VaultPaths,
[INFO] [stdout] 27 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Client used by runtime command paths to communicate with the unlock agent.`
[INFO] [stdout]    = help: ends near `Client used by runtime command paths to communicate with the unlock agent.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/client.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct AgentEntryStatus {
[INFO] [stdout] 17 | |     /// Current vault lock/unlock status.
[INFO] [stdout] 18 | |     pub status: VaultStatus,
[INFO] [stdout] 19 | |     /// Whether the queried entry name exists in the vault.
[INFO] [stdout] 20 | |     pub exists: bool,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Client for querying and controlling the local unlock agent.`
[INFO] [stdout]    = help: ends near `Result of checking whether a vault entry is available for use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/client.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct AgentEntryStatus {
[INFO] [stdout] 17 | |     /// Current vault lock/unlock status.
[INFO] [stdout] 18 | |     pub status: VaultStatus,
[INFO] [stdout] 19 | |     /// Whether the queried entry name exists in the vault.
[INFO] [stdout] 20 | |     pub exists: bool,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Result of checking whether a vault entry is available for use.`
[INFO] [stdout]    = help: ends near `Result of checking whether a vault entry is available for use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/error.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub enum AgentError {
[INFO] [stdout] 10 | |     Vault(VaultError),
[INFO] [stdout] 11 | |     Io(io::Error),
[INFO] [stdout] 12 | |     Locked,
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | |     Protocol(String),
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Error type returned by agent client/server operations.`
[INFO] [stdout]    = help: ends near `Agent client/server error variants.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/error.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub enum AgentError {
[INFO] [stdout] 10 | |     Vault(VaultError),
[INFO] [stdout] 11 | |     Io(io::Error),
[INFO] [stdout] 12 | |     Locked,
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | |     Protocol(String),
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Agent client/server error variants.`
[INFO] [stdout]    = help: ends near `Agent client/server error variants.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/server.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / pub fn run_server() -> Result<(), AgentError> {
[INFO] [stdout] 26 | |     let paths = VaultPaths::resolve_default()?;
[INFO] [stdout] 27 | |     let listener = match ipc::bind_listener(&paths)? {
[INFO] [stdout] 28 | |         ipc::ListenerBindResult::Bound(listener) => listener,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Starts the unlock-agent server process loop.`
[INFO] [stdout]    = help: ends near `Start unlock-agent server loop on the local IPC endpoint.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/auth/agent/server.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / pub fn run_server() -> Result<(), AgentError> {
[INFO] [stdout] 26 | |     let paths = VaultPaths::resolve_default()?;
[INFO] [stdout] 27 | |     let listener = match ipc::bind_listener(&paths)? {
[INFO] [stdout] 28 | |         ipc::ListenerBindResult::Bound(listener) => listener,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Start unlock-agent server loop on the local IPC endpoint.`
[INFO] [stdout]    = help: ends near `Start unlock-agent server loop on the local IPC endpoint.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/model.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct SshHost {
[INFO] [stdout]  8 | |     /// The host name/alias from the config.
[INFO] [stdout]  9 | |     pub name: String,
[INFO] [stdout] 10 | |     /// Connection protocol for this host.
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |     pub other_options: SshOptionMap,
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parsed host record and tree model types from SSH config.`
[INFO] [stdout]    = help: ends near `Represents a single SSH host configuration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/model.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct SshHost {
[INFO] [stdout]  8 | |     /// The host name/alias from the config.
[INFO] [stdout]  9 | |     pub name: String,
[INFO] [stdout] 10 | |     /// Connection protocol for this host.
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |     pub other_options: SshOptionMap,
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Represents a single SSH host configuration.`
[INFO] [stdout]    = help: ends near `Represents a single SSH host configuration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/model.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / pub struct SshHostTreeModel {
[INFO] [stdout] 78 | |     /// Root folder (`~/.ssh/config`).
[INFO] [stdout] 79 | |     pub root: TreeFolder,
[INFO] [stdout] 80 | |     /// Flattened host list in discovery order.
[INFO] [stdout] 81 | |     pub hosts: Vec<SshHost>,
[INFO] [stdout] 82 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parsed host record and tree model types from SSH config.`
[INFO] [stdout]    = help: ends near `Parsed SSH host data and include graph as a folder tree.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/model.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / pub struct SshHostTreeModel {
[INFO] [stdout] 78 | |     /// Root folder (`~/.ssh/config`).
[INFO] [stdout] 79 | |     pub root: TreeFolder,
[INFO] [stdout] 80 | |     /// Flattened host list in discovery order.
[INFO] [stdout] 81 | |     pub hosts: Vec<SshHost>,
[INFO] [stdout] 82 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parsed SSH host data and include graph as a folder tree.`
[INFO] [stdout]    = help: ends near `Parsed SSH host data and include graph as a folder tree.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/parser.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / pub fn parse_ssh_config(config_path: &Path) -> io::Result<Vec<SshHost>> {
[INFO] [stdout] 53 | |     Ok(build_ssh_host_tree(config_path)?.hosts)
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parser entrypoints for runtime use and migration use.`
[INFO] [stdout]    = help: ends near `Parse an SSH config file and return a list of visible hosts.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/parser.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / pub fn parse_ssh_config(config_path: &Path) -> io::Result<Vec<SshHost>> {
[INFO] [stdout] 53 | |     Ok(build_ssh_host_tree(config_path)?.hosts)
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parse an SSH config file and return a list of visible hosts.`
[INFO] [stdout]    = help: ends near `Parse an SSH config file and return a list of visible hosts.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/parser.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / pub fn parse_ssh_config_for_migration(config_path: &Path) -> io::Result<MigrationParseResult> {
[INFO] [stdout] 58 | |     let mut hosts = Vec::new();
[INFO] [stdout] 59 | |     let mut visited = HashSet::new();
[INFO] [stdout] 60 | |     let mut next_id: FolderId = 0;
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |     })
[INFO] [stdout] 86 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parser entrypoints for runtime use and migration use.`
[INFO] [stdout]    = help: ends near `Parse an SSH config file for YAML inventory migration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/parser.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / pub fn parse_ssh_config_for_migration(config_path: &Path) -> io::Result<MigrationParseResult> {
[INFO] [stdout] 58 | |     let mut hosts = Vec::new();
[INFO] [stdout] 59 | |     let mut visited = HashSet::new();
[INFO] [stdout] 60 | |     let mut next_id: FolderId = 0;
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |     })
[INFO] [stdout] 86 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parse an SSH config file for YAML inventory migration.`
[INFO] [stdout]    = help: ends near `Parse an SSH config file for YAML inventory migration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/path.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / pub fn get_default_ssh_config_path() -> Option<PathBuf> {
[INFO] [stdout] 18 | |     dirs::home_dir().map(|home| home.join(".ssh").join("config"))
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Default `~/.ssh/config` discovery helper.`
[INFO] [stdout]    = help: ends near `Returns `~/.ssh/config`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ssh_config/path.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / pub fn get_default_ssh_config_path() -> Option<PathBuf> {
[INFO] [stdout] 18 | |     dirs::home_dir().map(|home| home.join(".ssh").join("config"))
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Returns `~/.ssh/config`.`
[INFO] [stdout]    = help: ends near `Returns `~/.ssh/config`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tui/app/lifecycle.rs:47:1
[INFO] [stdout]     |
[INFO] [stdout]  47 | / pub fn run_session_manager(runtime_profile: Option<String>) -> io::Result<()> {
[INFO] [stdout]  48 | |     log_debug!("Starting interactive session manager");
[INFO] [stdout]  49 | |
[INFO] [stdout]  50 | |     let mut mode_guard = TerminalModeGuard::enter()?;
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     Ok(())
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Run the interactive session manager.`
[INFO] [stdout]     = help: ends near `Run the interactive session manager.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `color-ssh`
[INFO] running `Command { std: "docker" "inspect" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196", kill_on_drop: false }`
[INFO] [stdout] e0a2bd055508c2eb588e3c02b2f03199186de71615ecd0b062f21d0692af3196
