Expand description
Encapsulates the concrete representation of core types such as types and goals.
Traits§
- Implemented by types that have an associated interner (which are virtually all of the types in chalk-ir, for example). This lets us map from a type like
Ty<I>
to the parameterI
. - A “interner” encapsulates the concrete representation of certain “core types” from chalk-ir. All the types in chalk-ir are parameterized by a
I: Interner
, and so (e.g.) if they want to store a type, they don’t store aTy<I>
instance directly, but rather prefer aTy<I>
. You can think ofI::Type
as the interned representation (and, indeed, it may well be an interned pointer, e.g. in rustc).