pub struct Signature {
pub parameters: Vec<DataType>,
pub return_type: DataType,
}Expand description
Signature struct is a representation of function type
Function type in GitQL used to track parameters and return type for now but later can track parameter names to allow pass parameter by name and improve error messages
GitQL Function Signature has some rules to follow
Rules:
- Parameters must contains 0 or 1
DataType::Varargsparameter type only. DataType::Varargsmust be the last parameter.- You can add 0 or more
DataType::Optionalparameters. DataType::Optionalparameters must be at the end but also beforeDataType::Varargsif exists.
The return type can be a static DataType such as Int, Flow or Dynamic
so you can return a dynamic type depending on parameters.
Fields§
§parameters: Vec<DataType>§return_type: DataTypeAuto Trait Implementations§
impl Freeze for Signature
impl RefUnwindSafe for Signature
impl Send for Signature
impl Sync for Signature
impl Unpin for Signature
impl UnwindSafe for Signature
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