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=i32would be the generic binding here: - The semantic representation of the
booltype. - 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.