pub enum UsageContext {
Show 15 variants
FieldType,
ParamType,
ReturnType,
LocalVar,
WhereBound,
ImplTarget,
ImplTrait,
UseStatement,
Cast,
Turbofish,
VariantField,
ConstType,
MatchScrutinee,
ConstructorCall,
StructLiteral,
}Expand description
Context in which a type is used.
Variants§
FieldType
Struct field type.
ParamType
Function parameter type.
ReturnType
Return type.
LocalVar
Local variable type annotation.
WhereBound
Where clause or trait bound.
ImplTarget
Impl target (impl Foo).
ImplTrait
Impl trait (impl Trait for Foo).
UseStatement
Use statement.
Cast
Type cast (as Type).
Turbofish
Turbofish (::<Type>).
VariantField
Enum variant field.
ConstType
Const/static type.
MatchScrutinee
Match expression scrutinee (the value being matched). Used to track where enums are matched for cascade analysis.
ConstructorCall
Associated function call: Foo::new(), Foo::default(), etc.
Tracks the type referenced by the path prefix of the call.
StructLiteral
Struct literal: Foo { field: value }.
Tracks the type being instantiated.
Trait Implementations§
Source§impl Clone for UsageContext
impl Clone for UsageContext
Source§fn clone(&self) -> UsageContext
fn clone(&self) -> UsageContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 UsageContext
impl Debug for UsageContext
Source§impl<'de> Deserialize<'de> for UsageContext
impl<'de> Deserialize<'de> for UsageContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for UsageContext
impl Hash for UsageContext
Source§impl PartialEq for UsageContext
impl PartialEq for UsageContext
Source§fn eq(&self, other: &UsageContext) -> bool
fn eq(&self, other: &UsageContext) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for UsageContext
impl Serialize for UsageContext
impl Copy for UsageContext
impl Eq for UsageContext
impl StructuralPartialEq for UsageContext
Auto Trait Implementations§
impl Freeze for UsageContext
impl RefUnwindSafe for UsageContext
impl Send for UsageContext
impl Sync for UsageContext
impl Unpin for UsageContext
impl UnsafeUnpin for UsageContext
impl UnwindSafe for UsageContext
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> 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 more