Module gluon_base::types
source · Re-exports
pub use self::pretty_print::Filter;
pub use self::pretty_print::TypeFormatter;
pub use crate::ast::KindedIdent;
Modules
Structs
- An alias is wrapper around
Type::Alias
, allowing it to be cheaply converted to a type and dereferenced toAliasRef
- 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. - A shared type which is atomically reference counted
- Wrapper type which allows functions to control how to traverse the members of the type
- FIXME Distinguish generic id’s so we only need to compare them by
id
(currently they will get the wrong kind assigned to them otherwise)
Enums
- All the builtin types of gluon
- The representation of gluon’s types.
Traits
- Trait which is a
TypeEnv
which also provides access to the type representation of some primitive types - Trait for values which contains typed values which can be refered by name
Functions
- Constructs an iterator over a functions arguments
- Constructs an iterator over a functions arguments
- Walks through a type calling
f
on each inner type. Iff
returnSome
the type is replaced.
Type Aliases
SmallVec
used in theType::App
constructor to avoid allocating aVec
for every applied type. IfType
is changed in a way that changes its size it is likely a good idea to change the number of elements in theSmallVec
so that it fills out the entireType
enum while not increasing the size ofType
.