[INFO] fetching crate rshs 0.9.3...
[INFO] documenting rshs-0.9.3 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate rshs 0.9.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate rshs 0.9.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rshs 0.9.3
[INFO] tweaked toml for crates.io crate rshs 0.9.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rshs 0.9.3 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 rshs 0.9.3 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] 0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120
[INFO] running `Command { std: "docker" "start" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120", 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" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120", 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" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120" "/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]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking futures-core v0.3.34
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking futures-sink v0.3.34
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]     Checking indexmap v2.14.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking hybrid-array v0.4.14
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking futures-task v0.3.34
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling io-uring v0.7.14
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking cpufeatures v0.3.1
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking mcf v0.6.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking password-hash v0.6.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking sha-crypt v0.6.0
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking quick-xml v0.42.0
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking base64 v0.23.1
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking tower-http v0.7.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]  Documenting rshs v0.9.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `check_existing_exclusive`
[INFO] [stdout]    --> src/handlers/locks.rs:246:59
[INFO] [stdout]     |
[INFO] [stdout] 246 | /// matched `if_tokens` (via [`check_existing_exclusive`](check_existing_exclusive)).
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^ no item named `check_existing_exclusive` 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 `ls::check_existing_exclusive`
[INFO] [stdout]    --> src/handlers/locks.rs:265:59
[INFO] [stdout]     |
[INFO] [stdout] 265 | /// matched `if_tokens` (via [`check_existing_exclusive`](ls::check_existing_exclusive)).
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `ls` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `../`
[INFO] [stdout]   --> src/html.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /// A [`../`] parent link is included for non-root paths.
[INFO] [stdout]    |         ^^^ no item named `../` 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 `batch_read_dir_entries`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           The primary entry point is [`batch_read_dir_entries`] which reads all
[INFO] [stdout]                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `batch_read_dir_entries` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `scandir::DirEntryMeta`
[INFO] [stdout]    --> src/webdav/mod.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |     /// Create a `PropEntry` from a [`scandir::DirEntryMeta`] and an href.
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^ no item named `scandir` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/utils/error.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 | /// Wraps [`ResolveTargetError`](crate::utils::path::ResolveTargetError) by
[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] 101 - /// Wraps [`ResolveTargetError`](crate::utils::path::ResolveTargetError) by
[INFO] [stdout] 101 + /// Wraps [`ResolveTargetError`] by
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cli.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | / pub struct Cli {
[INFO] [stdout]  25 | |     /// Root directory to serve
[INFO] [stdout]  26 | |     #[arg(default_value = ".", env = "RSHS_ROOT_DIR")]
[INFO] [stdout]  27 | |     pub root_dir: String,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     pub quiet: bool,
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Command-line interface.`
[INFO] [stdout]     = help: ends near `A hybrid HTTP file server and WebDAV server`
[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/cli.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | / pub struct Cli {
[INFO] [stdout]  25 | |     /// Root directory to serve
[INFO] [stdout]  26 | |     #[arg(default_value = ".", env = "RSHS_ROOT_DIR")]
[INFO] [stdout]  27 | |     pub root_dir: String,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     pub quiet: bool,
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A hybrid HTTP file server and WebDAV server`
[INFO] [stdout]     = help: ends near `A hybrid HTTP file server and WebDAV server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/tls.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub struct TlsConfig {
[INFO] [stdout] 20 | |     pub cert_path: String,
[INFO] [stdout] 21 | |     pub key_path: String,
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `TLS certificate/key configuration.`
[INFO] [stdout]    = help: ends near `TLS certificate and private key file paths (PEM format).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/tls.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub struct TlsConfig {
[INFO] [stdout] 20 | |     pub cert_path: String,
[INFO] [stdout] 21 | |     pub key_path: String,
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `TLS certificate and private key file paths (PEM format).`
[INFO] [stdout]    = help: ends near `TLS certificate and private key file paths (PEM format).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/mod.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub type AppResult<T = Response, E = StatusCode> = Result<T, E>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Server state, configuration, startup, and router construction.`
[INFO] [stdout]    = help: ends near `Result type alias for handlers, with [`Response`] success and [`StatusCode`] error by default.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/mod.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub type AppResult<T = Response, E = StatusCode> = Result<T, E>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Result type alias for handlers, with [`Response`] success and [`StatusCode`] error by default.`
[INFO] [stdout]    = help: ends near `Result type alias for handlers, with [`Response`] success and [`StatusCode`] error by default.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | / pub struct AppState {
[INFO] [stdout] 33 | |     pub auth_state: Arc<AuthState>,
[INFO] [stdout] 34 | |     pub root_dir: PathBuf,
[INFO] [stdout] 35 | |     pub root_canonical: PathBuf,
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     pub lock_timeout: Duration,
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Server state, configuration, startup, and router construction.`
[INFO] [stdout]    = help: ends near `Shared application state passed to every handler and middleware.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | / pub struct AppState {
[INFO] [stdout] 33 | |     pub auth_state: Arc<AuthState>,
[INFO] [stdout] 34 | |     pub root_dir: PathBuf,
[INFO] [stdout] 35 | |     pub root_canonical: PathBuf,
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     pub lock_timeout: Duration,
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Shared application state passed to every handler and middleware.`
[INFO] [stdout]    = help: ends near `Shared application state passed to every handler and middleware.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | / pub struct ServerConfig {
[INFO] [stdout] 84 | |     pub root_dir: PathBuf,
[INFO] [stdout] 85 | |     pub host: String,
[INFO] [stdout] 86 | |     pub port: u16,
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | |     pub lock_timeout: u64,
[INFO] [stdout] 90 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Server state, configuration, startup, and router construction.`
[INFO] [stdout]    = help: ends near `optional TLS, authentication, and default lock timeout.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/server/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | / pub struct ServerConfig {
[INFO] [stdout] 84 | |     pub root_dir: PathBuf,
[INFO] [stdout] 85 | |     pub host: String,
[INFO] [stdout] 86 | |     pub port: u16,
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | |     pub lock_timeout: u64,
[INFO] [stdout] 90 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration for starting the server — root directory, bind address,`
[INFO] [stdout]    = help: ends near `Configuration for starting the server — root directory, bind address,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/server/mod.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | / pub fn make_router(state: Arc<AppState>) -> Router {
[INFO] [stdout] 160 | |     use crate::middleware::{auth, health, lock};
[INFO] [stdout] 161 | |     use axum::middleware::from_fn_with_state;
[INFO] [stdout] 162 | |     use tower_http::trace::TraceLayer;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         .with_state(state)
[INFO] [stdout] 175 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Server state, configuration, startup, and router construction.`
[INFO] [stdout]     = help: ends near `Build the full middleware stack and request dispatch router from shared state.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/server/mod.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | / pub fn make_router(state: Arc<AppState>) -> Router {
[INFO] [stdout] 160 | |     use crate::middleware::{auth, health, lock};
[INFO] [stdout] 161 | |     use axum::middleware::from_fn_with_state;
[INFO] [stdout] 162 | |     use tower_http::trace::TraceLayer;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         .with_state(state)
[INFO] [stdout] 175 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Build the full middleware stack and request dispatch router from shared state.`
[INFO] [stdout]     = help: ends near `Build the full middleware stack and request dispatch router from shared state.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/server/mod.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / pub async fn start_server(config: ServerConfig) -> io::Result<()> {
[INFO] [stdout] 101 | |     let addr: SocketAddr = format!("{}:{}", config.host, config.port)
[INFO] [stdout] 102 | |         .parse()
[INFO] [stdout] 103 | |         .map_err(|e| Error::new(ErrorKind::InvalidInput, e))?;
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     Ok(())
[INFO] [stdout] 152 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Server state, configuration, startup, and router construction.`
[INFO] [stdout]     = help: ends near `every 30 seconds.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/server/mod.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / pub async fn start_server(config: ServerConfig) -> io::Result<()> {
[INFO] [stdout] 101 | |     let addr: SocketAddr = format!("{}:{}", config.host, config.port)
[INFO] [stdout] 102 | |         .parse()
[INFO] [stdout] 103 | |         .map_err(|e| Error::new(ErrorKind::InvalidInput, e))?;
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     Ok(())
[INFO] [stdout] 152 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Builds the axum router with all middleware layers, then starts the HTTP or HTTPS`
[INFO] [stdout]     = help: ends near `Builds the axum router with all middleware layers, then starts the HTTP or HTTPS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `rshs`
[INFO] running `Command { std: "docker" "inspect" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120", kill_on_drop: false }`
[INFO] [stdout] 0caa326345c296fcb12854697f638a7861b14c2f34f8da9d1a8362a11ea3c120
