pub struct DynamicType {
pub function: ResolveFunction,
}
Fields§
§function: ResolveFunction
Implementations§
Source§impl DynamicType
impl DynamicType
pub fn new(function: ResolveFunction) -> Self
Trait Implementations§
Source§impl Clone for DynamicType
impl Clone for DynamicType
Source§fn clone(&self) -> DynamicType
fn clone(&self) -> DynamicType
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 DynamicType
impl DataType for DynamicType
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 DynamicType
impl RefUnwindSafe for DynamicType
impl Send for DynamicType
impl Sync for DynamicType
impl Unpin for DynamicType
impl UnwindSafe for DynamicType
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