pub enum Predicate {
Flag(Flag),
Match(NameValue),
Not(Box<Predicate>),
All(ThinVec<Predicate>),
Any(ThinVec<Predicate>),
}Expand description
Predicate(s) in #[rustc_on_unimplemented]’s on filter. See OnUnimplementedCondition.
It is similar to the predicate in the cfg attribute,
and may contain nested predicates.
Variants§
Flag(Flag)
A condition like on(crate_local).
Match(NameValue)
A match, like on(Rhs = "Whatever").
Not(Box<Predicate>)
Negation, like on(not($pred)).
All(ThinVec<Predicate>)
True if all predicates are true, like on(all($a, $b, $c)).
Any(ThinVec<Predicate>)
True if any predicate is true, like on(any($a, $b, $c)).
Implementations§
Trait Implementations§
Source§impl<__D: SpanDecoder> Decodable<__D> for Predicate
impl<__D: SpanDecoder> Decodable<__D> for Predicate
Source§impl<__E: SpanEncoder> Encodable<__E> for Predicate
impl<__E: SpanEncoder> Encodable<__E> for Predicate
Source§impl<__CTX> HashStable<__CTX> for Predicatewhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for Predicatewhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Source§impl PrintAttribute for Predicate
impl PrintAttribute for Predicate
Source§fn should_render(&self) -> bool
fn should_render(&self) -> bool
Whether or not this will render as something meaningful, or if it’s skipped
(which will force the containing struct to also skip printing a comma
and the field name).
fn print_attribute(&self, __p: &mut Printer)
Auto Trait Implementations§
impl DynSend for Predicate
impl DynSync for Predicate
impl Freeze for Predicate
impl RefUnwindSafe for Predicate
impl Send for Predicate
impl Sync for Predicate
impl Unpin for Predicate
impl UnsafeUnpin for Predicate
impl UnwindSafe for Predicate
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes
Size for each variant:
Flag: 1 byteMatch: 16 bytesNot: 8 bytesAll: 8 bytesAny: 8 bytes