ripvec-core 3.1.2

Semantic code + document search engine. Cacheless static-embedding + cross-encoder rerank by default; optional ModernBERT/BGE transformer engines with GPU backends. Tree-sitter chunking, hybrid BM25 + PageRank, composable ranking layers.
Documentation

Build #3357359 2026-05-23 00:59:08

# rustc version rustc 1.97.0-nightly (e96c36b6f 2026-05-21)

# docs.rs version docsrs 0.0.0 (e50152ed411bb913753b1dfd203f22cb8711f097 2026-05-17 )

# build log [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" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "390033df9141521d3682e518f365ccb86e9f08c7d5d27a00ffbd3aa102048547" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260521-1.97.0-nightly-e96c36b6f\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: Rustdoc did not scrape the following examples because they require dev-dependencies: corpus_bench, semble_bench, semble_full_bench, threshold_calibration, token_dist [INFO] [stderr] If you want Rustdoc to scrape these examples, then add `doc-scrape-examples = true` [INFO] [stderr] to the [[example]] target configuration of at least one example. [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting ripvec-core v3.1.2 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `cpu::CpuRerankBackend` [INFO] [stderr] --> src/backend/mod.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | //! ([`cpu::CpuRerankBackend`], backed by [`cpu::CpuBertModel`]). The [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ no item named `cpu` in scope [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `cpu::CpuBertModel` [INFO] [stderr] --> src/backend/mod.rs:4:45 [INFO] [stderr] | [INFO] [stderr] 4 | //! ([`cpu::CpuRerankBackend`], backed by [`cpu::CpuBertModel`]). The [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `cpu` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `BackendKind` [INFO] [stderr] --> src/backend/mod.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | //! [`RerankBackend`] trait, [`Encoding`] input type, and [`BackendKind`] [INFO] [stderr] | ^^^^^^^^^^^ no item named `BackendKind` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `EmbedBackend` [INFO] [stderr] --> src/backend/mod.rs:6:33 [INFO] [stderr] | [INFO] [stderr] 6 | //! discriminant survive; the [`EmbedBackend`] trait and bi-encoder [INFO] [stderr] | ^^^^^^^^^^^^ no item named `EmbedBackend` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `EmbedBackend` [INFO] [stderr] --> src/backend/mod.rs:36:19 [INFO] [stderr] | [INFO] [stderr] 36 | /// Parallel to [`EmbedBackend`], but the forward pass terminates in a [INFO] [stderr] | ^^^^^^^^^^^^ no item named `EmbedBackend` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `EmbedBackend` [INFO] [stderr] --> src/backend/mod.rs:38:56 [INFO] [stderr] | [INFO] [stderr] 38 | /// the retrieve-then-rerank pipeline: a bi-encoder ([`EmbedBackend`]) [INFO] [stderr] | ^^^^^^^^^^^^ no item named `EmbedBackend` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::index::SearchIndex` [INFO] [stderr] --> src/embed.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | /// When set, [`SearchIndex`](crate::index::SearchIndex) stores a truncated [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `index` in module `ripvec_core` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::hybrid::HybridIndex` [INFO] [stderr] --> src/encoder/mod.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | //! [`HybridIndex`](crate::hybrid::HybridIndex), cache layer) does not branch [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `HybridIndex` in module `hybrid` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CodeChunk` [INFO] [stderr] --> src/encoder/ripvec/chunking.rs:18:25 [INFO] [stderr] | [INFO] [stderr] 18 | //! line numbers into [`CodeChunk`] construction. [INFO] [stderr] | ^^^^^^^^^ no item named `CodeChunk` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `embed_paths` links to private item `chunk_one_file` [INFO] [stderr] --> src/encoder/ripvec/dense.rs:174:11 [INFO] [stderr] | [INFO] [stderr] 174 | /// [`chunk_one_file`]). [INFO] [stderr] | ^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `encode_batch` [INFO] [stderr] --> src/encoder/ripvec/dense.rs:183:55 [INFO] [stderr] | [INFO] [stderr] 183 | /// hand-off cost. The batch encode is a single [`encode_batch`] [INFO] [stderr] | ^^^^^^^^^^^^ no item named `encode_batch` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::index::RipvecIndex::diff_against` [INFO] [stderr] --> src/encoder/ripvec/manifest.rs:6:35 [INFO] [stderr] | [INFO] [stderr] 6 | //! [`RipvecIndex::diff_against`](super::index::RipvecIndex::diff_against): [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `RipvecIndex` has no field or associated item named `diff_against` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `WalkOptions` [INFO] [stderr] --> src/encoder/ripvec/manifest.rs:8:42 [INFO] [stderr] | [INFO] [stderr] 8 | //! 1. Walk the corpus with the same [`WalkOptions`] used at index [INFO] [stderr] | ^^^^^^^^^^^ no item named `WalkOptions` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `apply_query_boost` links to private item `boost_symbol_definitions` [INFO] [stderr] --> src/encoder/ripvec/ranking.rs:531:31 [INFO] [stderr] | [INFO] [stderr] 531 | /// - Symbol-shaped query → [`boost_symbol_definitions`] (×3 base, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `apply_query_boost` links to private item `boost_stem_matches` [INFO] [stderr] --> src/encoder/ripvec/ranking.rs:533:20 [INFO] [stderr] | [INFO] [stderr] 533 | /// - NL query → [`boost_stem_matches`] (file-stem keyword overlap) + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `apply_query_boost` links to private item `boost_embedded_symbols` [INFO] [stderr] --> src/encoder/ripvec/ranking.rs:534:9 [INFO] [stderr] | [INFO] [stderr] 534 | /// [`boost_embedded_symbols`] (half-strength CamelCase scan). [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `tokens` links to private item `split_camel_segments` [INFO] [stderr] --> src/encoder/ripvec/tokens.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | //! [`split_camel_segments`] to match the four alternatives Python's [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `tests::matches_python_docstring_examples` [INFO] [stderr] --> src/encoder/ripvec/tokens.rs:22:29 [INFO] [stderr] | [INFO] [stderr] 22 | //! Parity is enforced by [`tests::matches_python_docstring_examples`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `tests` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::index::SearchIndex` [INFO] [stderr] --> src/encoder/mod.rs:71:33 [INFO] [stderr] | [INFO] [stderr] 71 | /// Used by [`SearchIndex`](crate::index::SearchIndex) for the embedding [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `index` in module `ripvec_core` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RepoGraph` [INFO] [stderr] --> src/hybrid.rs:87:26 [INFO] [stderr] | [INFO] [stderr] 87 | /// `alpha` field from [`RepoGraph`] is recommended (auto-tuned from [INFO] [stderr] | ^^^^^^^^^ no item named `RepoGraph` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Arc` [INFO] [stderr] --> src/ranking.rs:207:45 [INFO] [stderr] | [INFO] [stderr] 207 | /// Construct via [`Self::new`]. Holds an [`Arc`] to a [INFO] [stderr] | ^^^ no item named `Arc` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::backend::cpu::CpuRerankBackend` [INFO] [stderr] --> src/rerank.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | //! (currently [`crate::backend::cpu::CpuRerankBackend`] — same BERT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `cpu` in module `backend` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::backend::cpu::CpuRerankBackend` [INFO] [stderr] --> src/rerank.rs:100:53 [INFO] [stderr] | [INFO] [stderr] 100 | /// - **Variant C** (`collapse-rerank-trait` on): [`crate::backend::cpu::CpuRerankBackend`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `cpu` in module `backend` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::backend::cpu::CpuRerankBackend::load` [INFO] [stderr] --> src/rerank.rs:126:41 [INFO] [stderr] | [INFO] [stderr] 126 | /// `collapse-rerank-trait` calls [`crate::backend::cpu::CpuRerankBackend::load`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `cpu` in module `backend` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Any::downcast_ref` [INFO] [stderr] --> src/searchable.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | /// use [`Any::downcast_ref`] to attempt the conversion. Returns [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ the trait `Any` has no associated item named `downcast_ref` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `HybridIndex` [INFO] [stderr] --> src/encoder/ripvec/index.rs:592:23 [INFO] [stderr] | [INFO] [stderr] 592 | /// Mirrors the [`HybridIndex`] equivalent so `goto_definition` [INFO] [stderr] | ^^^^^^^^^^^ no item named `HybridIndex` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/encoder/ripvec/hybrid.rs:6:23 [INFO] [stderr] | [INFO] [stderr] 6 | //! - [`search_bm25`](crate::encoder::ripvec::bm25::search_bm25) — BM25 [INFO] [stderr] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 6 - //! - [`search_bm25`](crate::encoder::ripvec::bm25::search_bm25) — BM25 [INFO] [stderr] 6 + //! - [`search_bm25`] — BM25 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/rerank.rs:20:45 [INFO] [stderr] | [INFO] [stderr] 20 | //! delegate scoring to a [`RerankBackend`](crate::backend::RerankBackend) [INFO] [stderr] | --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 20 - //! delegate scoring to a [`RerankBackend`](crate::backend::RerankBackend) [INFO] [stderr] 20 + //! delegate scoring to a [`RerankBackend`] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ripvec-core` (lib doc) generated 28 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.20s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/ripvec_core/index.html [INFO] running `Command { std: "docker" "inspect" "390033df9141521d3682e518f365ccb86e9f08c7d5d27a00ffbd3aa102048547", kill_on_drop: false }`