pub struct CompositeType {
pub name: String,
pub members: HashMap<String, Box<dyn DataType>>,
}
Fields§
§name: String
§members: HashMap<String, Box<dyn DataType>>
Implementations§
Trait Implementations§
Source§impl Clone for CompositeType
impl Clone for CompositeType
Source§fn clone(&self) -> CompositeType
fn clone(&self) -> CompositeType
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 CompositeType
impl DataType for CompositeType
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 CompositeType
impl !RefUnwindSafe for CompositeType
impl !Send for CompositeType
impl !Sync for CompositeType
impl Unpin for CompositeType
impl !UnwindSafe for CompositeType
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