Enum rustc_infer::traits::WellFormedLoc
source · [−]pub enum WellFormedLoc {
Ty(LocalDefId),
Param {
function: LocalDefId,
param_idx: u16,
},
}
Expand description
The ‘location’ at which we try to perform HIR-based wf checking.
This information is used to obtain an hir::Ty
, which
we can walk in order to obtain precise spans for any
‘nested’ types (e.g. Foo
in Option<Foo>
).
Variants
Ty(LocalDefId)
Use the type of the provided definition.
Param
Fields
function: LocalDefId
The function to lookup the parameter in
param_idx: u16
The index of the parameter to use. Parameters are indexed from 0, with the return type being the last ‘parameter’
Use the type of the parameter of the provided function.
We cannot use hir::Param
, since the function may
not have a body (e.g. a trait method definition)
Auto Trait Implementations
impl RefUnwindSafe for WellFormedLoc
impl Send for WellFormedLoc
impl Sync for WellFormedLoc
impl Unpin for WellFormedLoc
impl UnwindSafe for WellFormedLoc
Blanket Implementations
sourceimpl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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: 8 bytes
Size for each variant:
Ty
: 6 bytesParam
: 6 bytes