pub struct WhereClause {
pub has_where_token: bool,
pub predicates: ThinVec<WherePredicate>,
pub span: Span,
}
Expand description
A where-clause in a definition.
Fields§
§has_where_token: bool
true
if we ate a where
token.
This can happen if we parsed no predicates, e.g., struct Foo where {}
.
This allows us to pretty-print accurately and provide correct suggestion diagnostics.
predicates: ThinVec<WherePredicate>
§span: Span
Trait Implementations§
source§impl Clone for WhereClause
impl Clone for WhereClause
source§fn clone(&self) -> WhereClause
fn clone(&self) -> WhereClause
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for WhereClause
impl Debug for WhereClause
source§impl<__D: SpanDecoder> Decodable<__D> for WhereClause
impl<__D: SpanDecoder> Decodable<__D> for WhereClause
source§impl Default for WhereClause
impl Default for WhereClause
source§fn default() -> WhereClause
fn default() -> WhereClause
Returns the “default value” for a type. Read more
source§impl<__E: SpanEncoder> Encodable<__E> for WhereClause
impl<__E: SpanEncoder> Encodable<__E> for WhereClause
Auto Trait Implementations§
impl Freeze for WhereClause
impl !RefUnwindSafe for WhereClause
impl !Send for WhereClause
impl !Sync for WhereClause
impl Unpin for WhereClause
impl !UnwindSafe for WhereClause
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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> 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<'a, T> Captures<'a> for Twhere
T: ?Sized,
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: 24 bytes