pub struct VariantType {
pub variants: Vec<Box<dyn DataType>>,
}
Fields§
§variants: Vec<Box<dyn DataType>>
Implementations§
Trait Implementations§
Source§impl Clone for VariantType
impl Clone for VariantType
Source§fn clone(&self) -> VariantType
fn clone(&self) -> VariantType
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl DataType for VariantType
impl DataType for VariantType
Source§fn equals(&self, other: &Box<dyn DataType>) -> bool
fn equals(&self, other: &Box<dyn DataType>) -> bool
Return if other
DataType
is equal or not to current TypeSource§fn can_perform_add_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_add_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
+
operator with
between current DataType and any one of themSource§fn add_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn add_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
=
operator between current type and argument type Read moreSource§fn can_perform_sub_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_sub_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
-
operator with
between current DataType and any one of themSource§fn sub_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn sub_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
-
operator between current type and argument type Read moreSource§fn can_perform_mul_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_mul_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
*
operator with
between current DataType and any one of themSource§fn mul_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn mul_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
*
operator between current type and argument type Read moreSource§fn can_perform_div_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_div_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
/
operator with
between current DataType and any one of themSource§fn div_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn div_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
/
operator between current type and argument type Read moreSource§fn can_perform_rem_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_rem_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
%
operator with
between current DataType and any one of themSource§fn rem_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn rem_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
&
operator between current type and argument type Read moreSource§fn can_perform_caret_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_caret_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
^
operator with
between current DataType and any one of themSource§fn caret_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn caret_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
^
operator between current type and argument type Read moreSource§fn can_perform_or_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_or_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
|
operator with
between current DataType and any one of themSource§fn or_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn or_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
|
operator between current type and argument type Read moreSource§fn can_perform_and_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_and_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
&
operator with
between current DataType and any one of themSource§fn and_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn and_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
&
operator between current type and argument type Read moreSource§fn can_perform_xor_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_xor_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
#
operator with
between current DataType and any one of themSource§fn xor_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn xor_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
#
operator between current type and argument type Read moreSource§fn can_perform_shl_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_shl_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
<<
operator with
between current DataType and any one of themSource§fn shl_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn shl_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
<<
operator between current type and argument type Read moreSource§fn can_perform_shr_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_shr_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
>>
operator with
between current DataType and any one of themSource§fn shr_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn shr_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
>>
operator between current type and argument type Read moreSource§fn can_perform_logical_or_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_logical_or_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
||
or OR
operator with
between current DataType and any one of themSource§fn logical_or_op_result_type(
&self,
other: &Box<dyn DataType>,
) -> Box<dyn DataType>
fn logical_or_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>
Return the expected type after perform
||
or OR
operator between current type and argument type Read moreSource§fn can_perform_logical_and_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_logical_and_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
&&
or AND
operator with
between current DataType and any one of themSource§fn logical_and_op_result_type(
&self,
other: &Box<dyn DataType>,
) -> Box<dyn DataType>
fn logical_and_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>
Return the expected type after perform
&&
or AND
operator between current type and argument type Read moreSource§fn can_perform_logical_xor_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_logical_xor_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `XOR’ operator with
between current DataType and any one of them
Source§fn logical_xor_op_result_type(
&self,
other: &Box<dyn DataType>,
) -> Box<dyn DataType>
fn logical_xor_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>
Return the expected type after perform ‘XOR’ operator between current type and argument type Read more
Source§fn can_perform_index_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_index_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `[I]’ operator with
between current DataType and any one of them
Source§fn index_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn index_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform ‘[]’ operator on current type Read more
Source§fn can_perform_slice_op(&self) -> bool
fn can_perform_slice_op(&self) -> bool
Return true if this type support Slice operator with
Source§fn can_perform_slice_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_slice_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `[S : E]’ operator with
between current DataType and any one of them
Source§fn can_perform_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `=’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
!=' or
<>` operator with
between current DataType and any one of them Read moreSource§fn can_perform_group_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `!= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<=>’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<=> [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_gt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_gt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `>’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_gt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_gt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `> [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_gte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_gte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `>=’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_gte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_gte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `>= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_lt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_lt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_lt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_lt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `< [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_lte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_lte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `=<’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_lte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_lte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_not_op(&self) -> bool
fn can_perform_not_op(&self) -> bool
Return a list of types that it’s possible to perform unary `NOT’ operator with
between current DataType and any one of them
Source§fn not_op_result_type(&self) -> Box<dyn DataType>
fn not_op_result_type(&self) -> Box<dyn DataType>
Return the expected type after perform unary `NOT’ operator on current type Read more
Source§fn can_perform_neg_op(&self) -> bool
fn can_perform_neg_op(&self) -> bool
Return a list of types that it’s possible to perform unary `-’ operator with
between current DataType and any one of them
Source§fn neg_op_result_type(&self) -> Box<dyn DataType>
fn neg_op_result_type(&self) -> Box<dyn DataType>
Return the expected type after perform unary `-’ operator on current type Read more
Source§fn can_perform_bang_op(&self) -> bool
fn can_perform_bang_op(&self) -> bool
Return a list of types that it’s possible to perform unary `!’ operator with
between current DataType and any one of them
Source§fn bang_op_result_type(&self) -> Box<dyn DataType>
fn bang_op_result_type(&self) -> Box<dyn DataType>
Return the expected type after perform unary `!’ operator on current type Read more
Source§fn can_perform_contains_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_contains_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform unary `@>’ operator with
between current DataType and any one of them Read more
Source§fn has_implicit_cast_from(&self, expr: &Box<dyn Expr>) -> bool
fn has_implicit_cast_from(&self, expr: &Box<dyn Expr>) -> bool
Return true if this Expression can be casted to the current type without any evaluation Read more
Source§fn can_perform_explicit_cast_op_to(&self) -> Vec<Box<dyn DataType>>
fn can_perform_explicit_cast_op_to(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `Cast’ operator to Read more
Source§fn can_perform_like_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_like_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform unary `LIKE’ operator with
between current DataType and any one of them Read more
Auto Trait Implementations§
impl Freeze for VariantType
impl !RefUnwindSafe for VariantType
impl !Send for VariantType
impl !Sync for VariantType
impl Unpin for VariantType
impl !UnwindSafe for VariantType
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