pub enum AsyncCompletionOutcome {
Items {
candidates: Vec<RawCandidate>,
sources: Vec<SourceId>,
is_incomplete: bool,
},
Nothing,
}Expand description
OR.7: drain payload for the async completion fan-out — every
AsyncCompletionSource the active modes contribute, not only
LSP’s.
This was lattice_lsp::cache::InsertCompletionLspOutcome, and the
name was load-bearing in the wrong direction: it described the one
source the host actually drove, and so nothing made it obvious that
a WASM completion source could register a carrier mode, spawn an
actor, connect an adapter, and still never have generate called.
The type is named for the fan-out now because the fan-out is what
it carries.
Variants§
Items
Fields
candidates: Vec<RawCandidate>sources: Vec<SourceId>Every source that took part in this round, whether or not
it produced anything. The drain drops these sources’
previous candidates before adding candidates, which is
what makes a re-fire replace rather than duplicate.
A source that answered with nothing must still appear here — otherwise its stale rows from the previous round survive a round in which it deliberately declined.
Nothing
The fan-out had nothing to run (no async sources enabled for
this buffer). Distinct from Items with an empty list, which
means sources ran and declined — that one still has to clear
their previous rows.
Trait Implementations§
Source§impl Clone for AsyncCompletionOutcome
impl Clone for AsyncCompletionOutcome
Source§fn clone(&self) -> AsyncCompletionOutcome
fn clone(&self) -> AsyncCompletionOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more