[−][src]Struct chalk_ir::GenericArg
Implementations
impl<I: Interner> GenericArg<I>[src]
pub fn new(interner: &I, data: GenericArgData<I>) -> Self[src]
pub fn interned(&self) -> &I::InternedGenericArg[src]
pub fn data(&self, interner: &I) -> &GenericArgData<I>[src]
pub fn assert_ty_ref(&self, interner: &I) -> &Ty<I>[src]
pub fn assert_lifetime_ref(&self, interner: &I) -> &Lifetime<I>[src]
pub fn assert_const_ref(&self, interner: &I) -> &Const<I>[src]
pub fn is_ty(&self, interner: &I) -> bool[src]
pub fn ty(&self, interner: &I) -> Option<&Ty<I>>[src]
pub fn lifetime(&self, interner: &I) -> Option<&Lifetime<I>>[src]
pub fn constant(&self, interner: &I) -> Option<&Const<I>>[src]
Trait Implementations
impl<I: Interner> CastTo<GenericArg<I>> for Ty<I>[src]
fn cast_to(self, interner: &I) -> GenericArg<I>[src]
impl<I: Interner> CastTo<GenericArg<I>> for Lifetime<I>[src]
fn cast_to(self, interner: &I) -> GenericArg<I>[src]
impl<I: Interner> CastTo<GenericArg<I>> for Const<I>[src]
fn cast_to(self, interner: &I) -> GenericArg<I>[src]
impl<I: Interner> CastTo<GenericArg<I>> for GenericArg<I>[src]
fn cast_to(self, _interner: &I) -> GenericArg<I>[src]
impl<I: Clone + Interner> Clone for GenericArg<I> where
I::InternedGenericArg: Clone, [src]
I::InternedGenericArg: Clone,
fn clone(&self) -> GenericArg<I>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<I: Copy + Interner> Copy for GenericArg<I> where
I::InternedGenericArg: Copy, [src]
I::InternedGenericArg: Copy,
impl<I: Interner> Debug for GenericArg<I>[src]
impl<I: Eq + Interner> Eq for GenericArg<I> where
I::InternedGenericArg: Eq, [src]
I::InternedGenericArg: Eq,
impl<I: Interner, TI: TargetInterner<I>> Fold<I, TI> for GenericArg<I>[src]
type Result = GenericArg<TI>
The type of value that will be produced once folding is done. Typically this is Self, unless Self contains borrowed values, in which case owned values are produced (for example, one can fold over a &T value where T: Fold, in which case you get back a T, not a &T). Read more
fn fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i, [src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
impl<I: Interner> HasInterner for GenericArg<I>[src]
type Interner = I
impl<I: Hash + Interner> Hash for GenericArg<I> where
I::InternedGenericArg: Hash, [src]
I::InternedGenericArg: Hash,
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<I: Ord + Interner> Ord for GenericArg<I> where
I::InternedGenericArg: Ord, [src]
I::InternedGenericArg: Ord,
fn cmp(&self, other: &GenericArg<I>) -> Ordering[src]
#[must_use]fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self[src]
impl<I: PartialEq + Interner> PartialEq<GenericArg<I>> for GenericArg<I> where
I::InternedGenericArg: PartialEq, [src]
I::InternedGenericArg: PartialEq,
fn eq(&self, other: &GenericArg<I>) -> bool[src]
fn ne(&self, other: &GenericArg<I>) -> bool[src]
impl<I: PartialOrd + Interner> PartialOrd<GenericArg<I>> for GenericArg<I> where
I::InternedGenericArg: PartialOrd, [src]
I::InternedGenericArg: PartialOrd,
fn partial_cmp(&self, other: &GenericArg<I>) -> Option<Ordering>[src]
fn lt(&self, other: &GenericArg<I>) -> bool[src]
fn le(&self, other: &GenericArg<I>) -> bool[src]
fn gt(&self, other: &GenericArg<I>) -> bool[src]
fn ge(&self, other: &GenericArg<I>) -> bool[src]
impl<I: Interner> StructuralEq for GenericArg<I>[src]
impl<I: Interner> StructuralPartialEq for GenericArg<I>[src]
impl<I: Interner> Visit<I> for GenericArg<I>[src]
fn visit_with<'i, R: VisitResult>(
&self,
visitor: &mut dyn Visitor<'i, I, Result = R>,
outer_binder: DebruijnIndex
) -> R where
I: 'i, [src]
&self,
visitor: &mut dyn Visitor<'i, I, Result = R>,
outer_binder: DebruijnIndex
) -> R where
I: 'i,
impl<I: Interner> Zip<I> for GenericArg<I>[src]
Auto Trait Implementations
impl<I> RefUnwindSafe for GenericArg<I> where
<I as Interner>::InternedGenericArg: RefUnwindSafe,
<I as Interner>::InternedGenericArg: RefUnwindSafe,
impl<I> Send for GenericArg<I> where
<I as Interner>::InternedGenericArg: Send,
<I as Interner>::InternedGenericArg: Send,
impl<I> Sync for GenericArg<I> where
<I as Interner>::InternedGenericArg: Sync,
<I as Interner>::InternedGenericArg: Sync,
impl<I> Unpin for GenericArg<I> where
<I as Interner>::InternedGenericArg: Unpin,
<I as Interner>::InternedGenericArg: Unpin,
impl<I> UnwindSafe for GenericArg<I> where
<I as Interner>::InternedGenericArg: UnwindSafe,
<I as Interner>::InternedGenericArg: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Cast for T[src]
fn cast<U>(self, interner: &U::Interner) -> U where
Self: CastTo<U>,
U: HasInterner, [src]
Self: CastTo<U>,
U: HasInterner,
impl<T, I> CouldMatch<T> for T where
I: Interner,
T: Zip<I> + HasInterner<Interner = I> + ?Sized, [src]
I: Interner,
T: Zip<I> + HasInterner<Interner = I> + ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, I> Shift<I> for T where
I: Interner,
T: Fold<I, I>, [src]
I: Interner,
T: Fold<I, I>,
fn shifted_in(&Self, &I) -> <T as Fold<I, I>>::Result[src]
fn shifted_in_from(&Self, &I, DebruijnIndex) -> <T as Fold<I, I>>::Result[src]
fn shifted_out_to(
&Self,
&I,
DebruijnIndex
) -> Result<<T as Fold<I, I>>::Result, NoSolution>[src]
&Self,
&I,
DebruijnIndex
) -> Result<<T as Fold<I, I>>::Result, NoSolution>
fn shifted_out(&Self, &I) -> Result<<T as Fold<I, I>>::Result, NoSolution>[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, I> VisitExt<I> for T where
I: Interner,
T: Visit<I>, [src]
I: Interner,
T: Visit<I>,