[INFO] fetching crate thryd 0.7.3...
[INFO] documenting thryd-0.7.3 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate thryd 0.7.3 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate thryd 0.7.3
[INFO] finished tweaking crates.io crate thryd 0.7.3
[INFO] tweaked toml for crates.io crate thryd 0.7.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate thryd 0.7.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 thryd 0.7.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-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] c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501
[INFO] running `Command { std: "docker" "start" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501", 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" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501", 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" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking futures-io v0.3.34
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking uuid v1.24.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking heed-traits v0.20.0
[INFO] [stderr]    Compiling heed v0.22.1
[INFO] [stderr]     Checking synchronoise v1.0.1
[INFO] [stderr]     Checking cfb v0.14.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking cached_proc_macro_types v1.0.0
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]     Checking base64 v0.23.1
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking moka v0.12.16
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking infer v0.22.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling blake3 v1.8.7
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking fancy-regex v0.17.0
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking cobs v0.3.0
[INFO] [stderr]     Checking tiktoken-rs v0.12.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]    Compiling doxygen-rs v0.4.2
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking heed-types v0.21.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling lmdb-master-sys v0.2.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking postcard v1.1.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling cached_proc_macro v2.0.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking cached v2.0.2
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking async-openai v0.41.3
[INFO] [stderr]  Documenting thryd v0.7.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: public documentation for `utils` links to private item `current_timestamp`
[INFO] [stdout]  --> src/utils.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! - [`current_timestamp()`] - Used by [`crate::tracker`] for sliding window rate limiting
[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 `utils` links to private item `build_headers`
[INFO] [stdout]  --> src/utils.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! - [`build_headers()`] - Used by providers to construct authenticated HTTP headers
[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: redundant explicit link target
[INFO] [stdout]   --> src/route/tag.rs:10:67
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! - [`CompletionTag`] — text generation via [`CompletionModel`](crate::model::CompletionModel)
[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] 10 - //! - [`CompletionTag`] — text generation via [`CompletionModel`](crate::model::CompletionModel)
[INFO] [stdout] 10 + //! - [`CompletionTag`] — text generation via [`CompletionModel`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/route/tag.rs:11:68
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! - [`EmbeddingTag`] — text vectorization via [`EmbeddingModel`](crate::model::EmbeddingModel)
[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] 11 - //! - [`EmbeddingTag`] — text vectorization via [`EmbeddingModel`](crate::model::EmbeddingModel)
[INFO] [stdout] 11 + //! - [`EmbeddingTag`] — text vectorization via [`EmbeddingModel`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/route/tag.rs:12:66
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! - [`RerankerTag`] — document reranking via [`RerankerModel`](crate::RerankerModel)
[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] 12 - //! - [`RerankerTag`] — document reranking via [`RerankerModel`](crate::RerankerModel)
[INFO] [stdout] 12 + //! - [`RerankerTag`] — document reranking via [`RerankerModel`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/model.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | / pub struct Usage {
[INFO] [stdout] 63 | |     /// Tokens consumed by the input prompt (text + images).
[INFO] [stdout] 64 | |     pub prompt_tokens: u32,
[INFO] [stdout] 65 | |     /// Tokens generated in the completion. Zero for embeddings and rerankers.
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |     pub total_tokens: u32,
[INFO] [stdout] 69 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]    = help: ends near ``
[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/model.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | / pub struct Usage {
[INFO] [stdout] 63 | |     /// Tokens consumed by the input prompt (text + images).
[INFO] [stdout] 64 | |     pub prompt_tokens: u32,
[INFO] [stdout] 65 | |     /// Tokens generated in the completion. Zero for embeddings and rerankers.
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |     pub total_tokens: u32,
[INFO] [stdout] 69 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]    = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | / pub struct EmbeddingRequest {
[INFO] [stdout]  91 | |     /// The batch of text strings to encode into embeddings.
[INFO] [stdout]  92 | |     /// Each string is encoded as a separate embedding vector.
[INFO] [stdout]  93 | |     pub texts: Vec<String>,
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | |     pub max_batch_emb_size: Option<usize>,
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | / pub struct EmbeddingRequest {
[INFO] [stdout]  91 | |     /// The batch of text strings to encode into embeddings.
[INFO] [stdout]  92 | |     /// Each string is encoded as a separate embedding vector.
[INFO] [stdout]  93 | |     pub texts: Vec<String>,
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | |     pub max_batch_emb_size: Option<usize>,
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub struct CompletionRequest {
[INFO] [stdout] 123 | |     /// The input message/prompt to generate a completion for.
[INFO] [stdout] 124 | |     pub message: String,
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |     pub effort: Option<String>,
[INFO] [stdout] 159 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub struct CompletionRequest {
[INFO] [stdout] 123 | |     /// The input message/prompt to generate a completion for.
[INFO] [stdout] 124 | |     pub message: String,
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |     pub effort: Option<String>,
[INFO] [stdout] 159 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | / pub struct RerankerRequest {
[INFO] [stdout] 182 | |     /// The query text to rank documents against.
[INFO] [stdout] 183 | |     pub query: String,
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |     pub documents: Vec<String>,
[INFO] [stdout] 187 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | / pub struct RerankerRequest {
[INFO] [stdout] 182 | |     /// The query text to rank documents against.
[INFO] [stdout] 183 | |     pub query: String,
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |     pub documents: Vec<String>,
[INFO] [stdout] 187 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | / pub trait WithUsage {
[INFO] [stdout] 193 | |     /// Returns the API-reported usage, if available.
[INFO] [stdout] 194 | |     fn usage(&self) -> Option<&Usage>;
[INFO] [stdout] 195 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | / pub trait WithUsage {
[INFO] [stdout] 193 | |     /// Returns the API-reported usage, if available.
[INFO] [stdout] 194 | |     fn usage(&self) -> Option<&Usage>;
[INFO] [stdout] 195 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:198:1
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub type Embedding = Vec<f32>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near `Type alias for a single embedding vector.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:198:1
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub type Embedding = Vec<f32>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near `Type alias for a single embedding vector.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:201:1
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub type CompletionText = String;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near `Type alias for completion text content (just the string, no usage).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:201:1
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub type CompletionText = String;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near `Type alias for completion text content (just the string, no usage).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub type RankedDocuments = Vec<(usize, f32)>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near `Type alias for ranked document output (index, score pairs).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub type RankedDocuments = Vec<(usize, f32)>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near `Type alias for ranked document output (index, score pairs).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:210:1
[INFO] [stdout]     |
[INFO] [stdout] 210 | / pub struct CompletionResponse {
[INFO] [stdout] 211 | |     pub content: CompletionText,
[INFO] [stdout] 212 | |     pub usage: Usage,
[INFO] [stdout] 213 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:210:1
[INFO] [stdout]     |
[INFO] [stdout] 210 | / pub struct CompletionResponse {
[INFO] [stdout] 211 | |     pub content: CompletionText,
[INFO] [stdout] 212 | |     pub usage: Usage,
[INFO] [stdout] 213 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | / pub struct EmbeddingResponse {
[INFO] [stdout] 226 | |     pub embeddings: Vec<Embedding>,
[INFO] [stdout] 227 | |     pub usage: Usage,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | / pub struct EmbeddingResponse {
[INFO] [stdout] 226 | |     pub embeddings: Vec<Embedding>,
[INFO] [stdout] 227 | |     pub usage: Usage,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | / pub struct RankingResponse {
[INFO] [stdout] 241 | |     pub rankings: RankedDocuments,
[INFO] [stdout] 242 | |     pub usage: Usage,
[INFO] [stdout] 243 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | / pub struct RankingResponse {
[INFO] [stdout] 241 | |     pub rankings: RankedDocuments,
[INFO] [stdout] 242 | |     pub usage: Usage,
[INFO] [stdout] 243 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:268:1
[INFO] [stdout]     |
[INFO] [stdout] 268 | / pub trait Model: Send + Sync {
[INFO] [stdout] 269 | |     /// Returns the model identifier string (e.g., "gpt-4", "claude-3").
[INFO] [stdout] 270 | |     fn model_name(&self) -> &str;
[INFO] [stdout] ...   |
[INFO] [stdout] 286 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:268:1
[INFO] [stdout]     |
[INFO] [stdout] 268 | / pub trait Model: Send + Sync {
[INFO] [stdout] 269 | |     /// Returns the model identifier string (e.g., "gpt-4", "claude-3").
[INFO] [stdout] 270 | |     fn model_name(&self) -> &str;
[INFO] [stdout] ...   |
[INFO] [stdout] 286 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | / pub trait CompletionModel: Model {
[INFO] [stdout] 308 | |     /// Generate a text completion for the given request.
[INFO] [stdout] 309 | |     ///
[INFO] [stdout] 310 | |     /// # Arguments
[INFO] [stdout] ...   |
[INFO] [stdout] 316 | |     async fn completion(&self, request: CompletionRequest) -> crate::Result<CompletionResponse>;
[INFO] [stdout] 317 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | / pub trait CompletionModel: Model {
[INFO] [stdout] 308 | |     /// Generate a text completion for the given request.
[INFO] [stdout] 309 | |     ///
[INFO] [stdout] 310 | |     /// # Arguments
[INFO] [stdout] ...   |
[INFO] [stdout] 316 | |     async fn completion(&self, request: CompletionRequest) -> crate::Result<CompletionResponse>;
[INFO] [stdout] 317 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | / pub trait EmbeddingModel: Model {
[INFO] [stdout] 339 | |     /// Generate embeddings for the given texts.
[INFO] [stdout] 340 | |     ///
[INFO] [stdout] 341 | |     /// # Arguments
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     async fn embedding(&self, request: EmbeddingRequest) -> crate::Result<EmbeddingResponse>;
[INFO] [stdout] 348 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | / pub trait EmbeddingModel: Model {
[INFO] [stdout] 339 | |     /// Generate embeddings for the given texts.
[INFO] [stdout] 340 | |     ///
[INFO] [stdout] 341 | |     /// # Arguments
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     async fn embedding(&self, request: EmbeddingRequest) -> crate::Result<EmbeddingResponse>;
[INFO] [stdout] 348 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | / pub trait RerankerModel: Model {
[INFO] [stdout] 370 | |     /// Rerank documents by relevance to the query.
[INFO] [stdout] 371 | |     ///
[INFO] [stdout] 372 | |     /// # Arguments
[INFO] [stdout] ...   |
[INFO] [stdout] 378 | |     async fn rerank(&self, request: RerankerRequest) -> crate::Result<RankingResponse>;
[INFO] [stdout] 379 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models`: `CompletionModel`, `EmbeddingModel`, `RerankerModel` traits`
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/model.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | / pub trait RerankerModel: Model {
[INFO] [stdout] 370 | |     /// Rerank documents by relevance to the query.
[INFO] [stdout] 371 | |     ///
[INFO] [stdout] 372 | |     /// # Arguments
[INFO] [stdout] ...   |
[INFO] [stdout] 378 | |     async fn rerank(&self, request: RerankerRequest) -> crate::Result<RankingResponse>;
[INFO] [stdout] 379 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `- From `models::openai`: `OpenaiModel``
[INFO] [stdout]     = help: ends near ``
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `thryd`
[INFO] running `Command { std: "docker" "inspect" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501", kill_on_drop: false }`
[INFO] [stdout] c72f5b8ebd65a72dc0a9a5ef670294f6a4e9ed9974f13d65f4edd4ca3c878501
