Module rustc_middle::ty::sty

source ·
Expand description

This module contains TyKind and its major components.

Modules§

Structs§

  • Represents the projection of an associated type.
  • Binder is a binder for higher-ranked lifetimes or types. It is part of the compiler’s representation for things like for<'a> Fn(&'a isize) (which would be represented by the type PolyTraitRef == Binder<'tcx, TraitRef>). Note that when we instantiate, erase, or otherwise “discharge” these bound vars, we change the type from Binder<'tcx, T> to just T (see e.g., liberate_late_bound_regions).
  • A closure can be modeled as a struct that looks like:
  • Struct returned by split().
  • Similar to ClosureArgs; see the above documentation for more.
  • Signature of a function type, which we have arbitrarily decided to use to refer to the input/output types.
  • An inline const is modeled like
  • Struct returned by split().

Enums§

  • Extra information about why we ended up with a particular variance. This is only used to add more information to error messages, and has no effect on soundness. While choosing the ‘wrong’ VarianceDiagInfo may lead to confusing notes in error messages, it will never cause a miscompilation or unsoundness.

Traits§

Type Aliases§