Trait PlaceholderLike

Source
pub trait PlaceholderLike<I>:
    Copy
    + Debug
    + Hash
    + Eq
where I: Interner,
{ type Bound: BoundVarLike<I>; // Required methods fn universe(self) -> UniverseIndex; fn var(self) -> BoundVar; fn new(ui: UniverseIndex, bound: Self::Bound) -> Self; fn new_anon(ui: UniverseIndex, var: BoundVar) -> Self; fn with_updated_universe(self, ui: UniverseIndex) -> Self; }
Expand description

Common capabilities of placeholder kinds

Required Associated Types§

Required Methods§

Source

fn universe(self) -> UniverseIndex

Source

fn var(self) -> BoundVar

Source

fn new(ui: UniverseIndex, bound: Self::Bound) -> Self

Source

fn new_anon(ui: UniverseIndex, var: BoundVar) -> Self

Source

fn with_updated_universe(self, ui: UniverseIndex) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'tcx> PlaceholderLike<TyCtxt<'tcx>> for Placeholder<BoundRegion>

Source§

impl<'tcx> PlaceholderLike<TyCtxt<'tcx>> for Placeholder<BoundTy>

Source§

impl<'tcx> PlaceholderLike<TyCtxt<'tcx>> for Placeholder<BoundVar>

Implementors§