[−][src]Struct chalk_ir::PlaceholderIndex
Index of an universally quantified parameter in the environment. Two indexes are required, the one of the universe itself and the relative index inside the universe.
Fields
ui: UniverseIndexIndex of the universe.
idx: usizeIndex in the universe.
Implementations
impl PlaceholderIndex[src]
pub fn to_lifetime<I: Interner>(self, interner: &I) -> Lifetime<I>[src]
Wrap the placeholder instance in a lifetime.
pub fn to_ty<I: Interner>(self, interner: &I) -> Ty<I>[src]
Create an interned type.
pub fn to_const<I: Interner>(self, interner: &I, ty: Ty<I>) -> Const<I>[src]
Wrap the placeholder index in a constant.
Trait Implementations
impl Clone for PlaceholderIndex[src]
fn clone(&self) -> PlaceholderIndex[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for PlaceholderIndex[src]
impl Debug for PlaceholderIndex[src]
impl Eq for PlaceholderIndex[src]
impl<I: Interner, TI: TargetInterner<I>> Fold<I, TI> for PlaceholderIndex[src]
type Result = Self
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 Hash for PlaceholderIndex[src]
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 Ord for PlaceholderIndex[src]
fn cmp(&self, other: &PlaceholderIndex) -> 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 PartialEq<PlaceholderIndex> for PlaceholderIndex[src]
fn eq(&self, other: &PlaceholderIndex) -> bool[src]
fn ne(&self, other: &PlaceholderIndex) -> bool[src]
impl PartialOrd<PlaceholderIndex> for PlaceholderIndex[src]
fn partial_cmp(&self, other: &PlaceholderIndex) -> Option<Ordering>[src]
fn lt(&self, other: &PlaceholderIndex) -> bool[src]
fn le(&self, other: &PlaceholderIndex) -> bool[src]
fn gt(&self, other: &PlaceholderIndex) -> bool[src]
fn ge(&self, other: &PlaceholderIndex) -> bool[src]
impl StructuralEq for PlaceholderIndex[src]
impl StructuralPartialEq for PlaceholderIndex[src]
impl<I: Interner> Visit<I> for PlaceholderIndex[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 PlaceholderIndex[src]
Auto Trait Implementations
impl RefUnwindSafe for PlaceholderIndex
impl Send for PlaceholderIndex
impl Sync for PlaceholderIndex
impl Unpin for PlaceholderIndex
impl UnwindSafe for PlaceholderIndex
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> 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>,