## PlaceholderLike

# Trait PlaceholderLike

    pub trait PlaceholderLike<I>:
        Copy
        + Debug
        + Hash
        + Eqwhere
        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§

#### 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

## 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.

## Implementors§

Source§

### impl<'tcx> PlaceholderLike<TyCtxt<'tcx>> for PlaceholderConst<'tcx>

Source§

#### type Bound = BoundConst

Source§

### impl<'tcx> PlaceholderLike<TyCtxt<'tcx>> for PlaceholderRegion<'tcx>

Source§

#### type Bound = BoundRegion

Source§

### impl<'tcx> PlaceholderLike<TyCtxt<'tcx>> for PlaceholderType<'tcx>

Source§

#### type Bound = BoundTy