Skip to main content

inlay_hints_version

Function inlay_hints_version 

Source
pub fn inlay_hints_version(rows: &[InlayHintRow]) -> u64
Expand description

Perf plan A.2 slice A.2b.2: content hash of a flattened inlay- hint list. Stable per-payload (same vec → same hash) so it can drive VisibleHighlightsKey::inlay_version for the worker’s row-cache invalidation. Empty list hashes to 0 — matches the inlay_version: 0 default and keeps the steady-state no-hint path on a single cheap branch.

Implementation is a fold over each row’s (line, byte, text) triple using the default DefaultHasher (SipHash 1-3, suitable for non-cryptographic versioning). For the typical viewport of <200 hints this is sub-µs once per publish.