## CanonicalVarKind

# Type Alias CanonicalVarKind

Source

    pub type CanonicalVarKind<'tcx> = CanonicalVarKind<TyCtxt<'tcx>>;

## Aliased Type§

    pub enum CanonicalVarKind<'tcx> {
        Ty(CanonicalTyVarKind),
        PlaceholderTy(Placeholder<BoundTy>),
        Region(UniverseIndex),
        PlaceholderRegion(Placeholder<BoundRegion>),
        Const(UniverseIndex),
        PlaceholderConst(Placeholder<BoundConst>),
    }

## Variants§

§

### Ty(CanonicalTyVarKind)

Some kind of type inference variable.

§

### PlaceholderTy(Placeholder<BoundTy>)

A “placeholder” that represents “any type”.

§

### Region(UniverseIndex)

Region variable `'?R`.

§

### PlaceholderRegion(Placeholder<BoundRegion>)

A “placeholder” that represents “any region”. Created when you are solving a goal like `for<'a> T: Foo<'a>` to represent the bound region `'a`.

§

### Const(UniverseIndex)

Some kind of const inference variable.

§

### PlaceholderConst(Placeholder<BoundConst>)

A “placeholder” that represents “any const”.

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