An entity in the Rust type system, which can be one of several kinds (types, lifetimes, and consts). To reduce memory usage, a GenericArg is an interned pointer, with the lowest 2 bits being reserved for a tag to indicate the type (Ty, Region, or Const) it points to.

Specifies the user-given self type. In the case of a path that refers to a member in an inherent impl, this self type is sometimes needed to constrain the type parameters on the impl. For example, in this code:

Stores the user-given substs to reach some fully qualified path (e.g., <T>::Item or <T as Trait>::Item).




Type Definitions

A substitution mapping generic parameters to new values.