pub enum Value<TA, VA> {
Show 18 variants
Apply(VA, Box<Value<TA, VA>>, Box<Value<TA, VA>>),
Constructor(VA, FQName),
Destructure(VA, Pattern<VA>, Box<Value<TA, VA>>, Box<Value<TA, VA>>),
Field(VA, Box<Value<TA, VA>>, Name),
FieldFunction(VA, Name),
IfThenElse(VA, Box<Value<TA, VA>>, Box<Value<TA, VA>>, Box<Value<TA, VA>>),
Lambda(VA, Pattern<VA>, Box<Value<TA, VA>>),
LetDefinition(VA, Name, Box<ValueDefinition<TA, VA>>, Box<Value<TA, VA>>),
LetRecursion(VA, Vec<(Name, Box<ValueDefinition<TA, VA>>)>, Box<Value<TA, VA>>),
List(VA, Vec<Value<TA, VA>>),
Literal(VA, Literal),
PatternMatch(VA, Box<Value<TA, VA>>, Vec<(Pattern<VA>, Value<TA, VA>)>),
Record(VA, Vec<(Name, Value<TA, VA>)>),
Tuple(VA, Vec<Value<TA, VA>>),
Unit(VA),
Update(VA, Box<Value<TA, VA>>, Vec<(Name, Value<TA, VA>)>),
Variable(VA, Name),
Reference(VA, FQName),
}Expand description
Value with generic type and value attributes
Variants§
Apply(VA, Box<Value<TA, VA>>, Box<Value<TA, VA>>)
Constructor(VA, FQName)
Destructure(VA, Pattern<VA>, Box<Value<TA, VA>>, Box<Value<TA, VA>>)
Field(VA, Box<Value<TA, VA>>, Name)
FieldFunction(VA, Name)
IfThenElse(VA, Box<Value<TA, VA>>, Box<Value<TA, VA>>, Box<Value<TA, VA>>)
Lambda(VA, Pattern<VA>, Box<Value<TA, VA>>)
LetDefinition(VA, Name, Box<ValueDefinition<TA, VA>>, Box<Value<TA, VA>>)
LetRecursion(VA, Vec<(Name, Box<ValueDefinition<TA, VA>>)>, Box<Value<TA, VA>>)
List(VA, Vec<Value<TA, VA>>)
Literal(VA, Literal)
PatternMatch(VA, Box<Value<TA, VA>>, Vec<(Pattern<VA>, Value<TA, VA>)>)
Record(VA, Vec<(Name, Value<TA, VA>)>)
Tuple(VA, Vec<Value<TA, VA>>)
Unit(VA)
Update(VA, Box<Value<TA, VA>>, Vec<(Name, Value<TA, VA>)>)
Variable(VA, Name)
Reference(VA, FQName)
Trait Implementations§
Source§impl<'de, TA: Deserialize<'de>, VA: Deserialize<'de>> Deserialize<'de> for Value<TA, VA>
impl<'de, TA: Deserialize<'de>, VA: Deserialize<'de>> Deserialize<'de> for Value<TA, VA>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<TA: PartialEq, VA: PartialEq> StructuralPartialEq for Value<TA, VA>
Auto Trait Implementations§
impl<TA, VA> Freeze for Value<TA, VA>
impl<TA, VA> RefUnwindSafe for Value<TA, VA>where
VA: RefUnwindSafe,
Box<Value<TA, VA>>: RefUnwindSafe,
Pattern<VA>: RefUnwindSafe,
Box<ValueDefinition<TA, VA>>: RefUnwindSafe,
Vec<(Name, Box<ValueDefinition<TA, VA>>)>: RefUnwindSafe,
Vec<Value<TA, VA>>: RefUnwindSafe,
Vec<(Pattern<VA>, Value<TA, VA>)>: RefUnwindSafe,
Vec<(Name, Value<TA, VA>)>: RefUnwindSafe,
impl<TA, VA> Send for Value<TA, VA>
impl<TA, VA> Sync for Value<TA, VA>
impl<TA, VA> Unpin for Value<TA, VA>
impl<TA, VA> UnsafeUnpin for Value<TA, VA>where
VA: UnsafeUnpin,
Box<Value<TA, VA>>: UnsafeUnpin,
Pattern<VA>: UnsafeUnpin,
Box<ValueDefinition<TA, VA>>: UnsafeUnpin,
Vec<(Name, Box<ValueDefinition<TA, VA>>)>: UnsafeUnpin,
Vec<Value<TA, VA>>: UnsafeUnpin,
Vec<(Pattern<VA>, Value<TA, VA>)>: UnsafeUnpin,
Vec<(Name, Value<TA, VA>)>: UnsafeUnpin,
impl<TA, VA> UnwindSafe for Value<TA, VA>where
VA: UnwindSafe,
Box<Value<TA, VA>>: UnwindSafe,
Pattern<VA>: UnwindSafe,
Box<ValueDefinition<TA, VA>>: UnwindSafe,
Vec<(Name, Box<ValueDefinition<TA, VA>>)>: UnwindSafe,
Vec<Value<TA, VA>>: UnwindSafe,
Vec<(Pattern<VA>, Value<TA, VA>)>: UnwindSafe,
Vec<(Name, Value<TA, VA>)>: UnwindSafe,
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