pub enum FilterClass {
Hard,
Soft {
min_remaining: usize,
},
}Expand description
How aggressive a filter is allowed to be when shrinking the candidate set.
Variants§
Hard
The filter may filter to zero. If it does, the pipeline
surfaces fuel_ir::Error::FilterRejected — the
user asked for something the binding-table can’t deliver and
we surface it rather than silently substituting a
non-admissible alternative.
Use for filters that encode a user-requested correctness floor: precision bound, tolerance budget, explicit backend pin (if a future filter encodes that). Not for preferences.
Soft
The filter must leave at least min_remaining candidates.
If applying it would drop below this threshold, the pipeline
skips this filter for this call (logs that it saturated).
min_remaining = 1 is the typical preference shape: “narrow
the set when possible, but don’t leave nothing.” Larger
values reserve diversity for downstream filters that might
further narrow — e.g., a strided-input-preference filter
with min_remaining = 2 ensures the subsequent Judge filter
still has at least two options to rank empirically.
Trait Implementations§
Source§impl Clone for FilterClass
impl Clone for FilterClass
impl Copy for FilterClass
Source§impl Debug for FilterClass
impl Debug for FilterClass
impl Eq for FilterClass
Source§impl PartialEq for FilterClass
impl PartialEq for FilterClass
impl StructuralPartialEq for FilterClass
Auto Trait Implementations§
impl Freeze for FilterClass
impl RefUnwindSafe for FilterClass
impl Send for FilterClass
impl Sync for FilterClass
impl Unpin for FilterClass
impl UnsafeUnpin for FilterClass
impl UnwindSafe for FilterClass
Blanket Implementations§
impl<T> Boilerplate for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more