Module marker_api::sem
source · Expand description
A module containing semantic representations of types, generics and other parts of the language.
Structs
- The semantic representation of a type alias.
- The semantic representation of an array with a known size like:
[T; N]
- A semantic generic bound in the form
<identifier=type>
. For example,Item=i32
would be the generic binding here: - The semantic representation of the
bool
type. - The semantic representation of a closure type.
- The semantic equivalent of a
ConstExpr
, at least theoretically. This part of the API is sadly not done yet, so this is just a placeholder. - The semantic representation of a function pointer, like
fn (T) -> U
- A function item type identifying a specific function and potentualy additional generics.
- The semantic representation of generic arguments for an item or path.
- The semantic representation of a generic type. For example
- The semantic representation of the never type
!
. - The semantic representation of a variable length slice like
[T]
- A semantic trait bound used by
TraitTy
- The semantic representation of a trait object.
- The placeholder type, signalling that the semantic type is still unstable and therefor not represented as part of the API.
- The declared visibility of an item or field.
Enums
- A singular semantic generic argument.
- The semantic representation of a type.