[][src]Module rusttyc::types

This mod contains everything related to types and collections of types (type tables).

Content

  • Abstract is a trait representing abstract types that will be inferred during the type checking procedure.
  • Reification is the process of transforming an abstract type into a concrete one.
    This process can be fallible or infallible, represented by Reifiable, TryReifiable, and ReificationErr.
  • Generalization is the infallible process of transforming a concrete type into an abstract one represented by Generalizable
  • TypeTable contains a mapping from a TcKey to an Abstract or reified type.

Structs

AbstractTypeTable

An implementation of TypeTable for type implementing Abstract. See ReifiedTypeTable for an implementation specializing on concrete types.

ReifiedTypeTable

An implementation of TypeTable for concrete types. See AbstractTypeTable for an implementation specializing on abstract types.

Enums

ReificationErr

Indicates that an abstract type could not be reified because it is too general or too restrictive.

Traits

Abstract

An abstract type that will be inferred during the type checking procedure.

Generalizable

A type implementing this trait can be generalized into an abstract representation infallibly.

Reifiable

A type implementing this trait can be reified into a concrete representation. This transformation cannot fail. If it is fallible, refer to TryReifiable.

TryReifiable

A type implementing this trait can potentially be reified into a concrete representation. This transformation can fail. If it is infallible, refer to Reifiable.

TypeTable

A trait representing a type table.