pub struct HarvestNames {
pub cues: BTreeSet<String>,
pub spans: BTreeMap<String, SpanNames>,
}Expand description
Range-free completion projection of a HarvestIndex (issue #2134).
Every HarvestSite carries a TextRange, so the raw index can never
Eq-cutoff — nearly any edit shifts a site’s range and would defeat
early cutoff for every dependent, exactly the property that forced
resolution_index_query to exist as a range-zeroed early-cutoff
projection of the symbol index (see brink-db’s
queries/mod.rs module doc, “The resolution_index cutoff seam”). A
completion consumer only needs to know that a name exists project-wide,
never where — so this projection keeps just the name sets (and, for
spans, the manifest’s declared metadata, which carries no ranges
either). harvest_completion_index_query in brink-db is this
projection’s own tracked-query wrapper, the harvest-index sibling of
resolution_index_query.
Fields§
§cues: BTreeSet<String>§spans: BTreeMap<String, SpanNames>Trait Implementations§
Source§impl Clone for HarvestNames
impl Clone for HarvestNames
Source§fn clone(&self) -> HarvestNames
fn clone(&self) -> HarvestNames
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HarvestNames
impl Debug for HarvestNames
Source§impl Default for HarvestNames
impl Default for HarvestNames
Source§fn default() -> HarvestNames
fn default() -> HarvestNames
impl Eq for HarvestNames
Source§impl PartialEq for HarvestNames
impl PartialEq for HarvestNames
impl StructuralPartialEq for HarvestNames
Auto Trait Implementations§
impl Freeze for HarvestNames
impl RefUnwindSafe for HarvestNames
impl Send for HarvestNames
impl Sync for HarvestNames
impl Unpin for HarvestNames
impl UnsafeUnpin for HarvestNames
impl UnwindSafe for HarvestNames
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.