Struct stable_mir::ty::Binder
source · pub struct Binder<T> {
pub value: T,
pub bound_vars: Vec<BoundVariableKind>,
}
Expand description
A binder represents a possibly generic type and its bound vars.
Fields§
§value: T
§bound_vars: Vec<BoundVariableKind>
Implementations§
source§impl<T> Binder<T>
impl<T> Binder<T>
sourcepub fn bind_with_vars(value: T, bound_vars: Vec<BoundVariableKind>) -> Self
pub fn bind_with_vars(value: T, bound_vars: Vec<BoundVariableKind>) -> Self
Create a new binder with the given bound vars.
pub fn skip_binder(self) -> T
pub fn map_bound_ref<F, U>(&self, f: F) -> Binder<U>
pub fn map_bound<F, U>(self, f: F) -> Binder<U>where
F: FnOnce(T) -> U,
source§impl Binder<ExistentialTraitRef>
impl Binder<ExistentialTraitRef>
pub fn with_self_ty(&self, self_ty: Ty) -> Binder<TraitRef>
Trait Implementations§
source§impl<T: PartialEq> PartialEq for Binder<T>
impl<T: PartialEq> PartialEq for Binder<T>
source§impl<T: Visitable> Visitable for Binder<T>
impl<T: Visitable> Visitable for Binder<T>
fn super_visit<V: Visitor>(&self, visitor: &mut V) -> ControlFlow<V::Break>
fn visit<V: Visitor>(&self, visitor: &mut V) -> ControlFlow<V::Break>
impl<T: Eq> Eq for Binder<T>
impl<T> StructuralPartialEq for Binder<T>
Auto Trait Implementations§
impl<T> Freeze for Binder<T>where
T: Freeze,
impl<T> RefUnwindSafe for Binder<T>where
T: RefUnwindSafe,
impl<T> Send for Binder<T>where
T: Send,
impl<T> Sync for Binder<T>where
T: Sync,
impl<T> Unpin for Binder<T>where
T: Unpin,
impl<T> UnwindSafe for Binder<T>where
T: UnwindSafe,
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
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.