Module gluon_base::types [] [src]

Structs

Alias

An alias is wrapper around Type::Alias, allowing it to be cheaply converted to a type and dereferenced to AliasRef

AliasData
AliasRef

Data for a type alias. Probably you want to use Alias instead of this directly as Alias allows for cheap conversion back into a type as well.

ArcType

A shared type which is atomically reference counted

ArgIterator
ControlVisitation

Wrapper type which allows functions to control how to traverse the members of the type

DisplayType
Field
Generic
RowIterator
TypeCache
TypeFieldIterator
TypeVariable

Enums

BuiltinType

All the builtin types of gluon

Type

The representation of gluon's types.

Traits

PrimitiveEnv

Trait which is a TypeEnv which also provides access to the type representation of some primitive types

TypeEnv

Trait for values which contains typed values which can be refered by name

TypeVisitor
Walker

Functions

arg_iter

Constructs an iterator over a functions arguments

display_type
fold_type
walk_move_type

Walks through a type calling f on each inner type. If f return Some the type is replaced.

walk_move_type_opt
walk_move_types
walk_type
walk_type_

Type Definitions

AppVec

SmallVec used in the Type::App constructor to avoid alloacting a Vec for every applied type. If Type is changed in a way that changes its size it is likely a good idea to change the number of elements in the SmallVec so that it fills out the entire Type enum while not increasing the size of Type.