pub enum RTk {
Show 14 variants
Prim(String),
Lit(Value),
Range {
lo: Value,
hi: Value,
excl: bool,
base: String,
},
Pattern {
src: String,
re: Regex,
},
Arr {
elem: RT,
lo: Option<i64>,
hi: Option<i64>,
},
Map {
key: RT,
val: RT,
},
Union(Vec<RT>),
IsectN(Vec<RT>),
Rec(RecType),
Pred {
base: RT,
preds: Vec<Rc<Expr>>,
},
Ref(RT),
Quantity(String),
Func {
params: Vec<RT>,
ret: RT,
},
Any,
}Expand description
the kinds of resolved types (§3)
Variants§
Prim(String)
a primitive
Lit(Value)
a literal
Range
a numeric range
Fields
Pattern
a string pattern
Arr
an array
Fields
Map
a map
Union(Vec<RT>)
a union
IsectN(Vec<RT>)
an intersection not yet merged
Rec(RecType)
a record
Pred
a predicate refinement
Ref(RT)
a reference type
Quantity(String)
a quantity of a dimension
Func
a function type
Any
any value
Auto Trait Implementations§
impl !Freeze for RTk
impl !RefUnwindSafe for RTk
impl !Send for RTk
impl !Sync for RTk
impl !UnwindSafe for RTk
impl Unpin for RTk
impl UnsafeUnpin for RTk
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more