pub enum DataType {
Show 16 variants Any, Void, Numeric, Addable, Callable, NonVoid, Boolean, Integer, Real, String, Semver, Array { elem_type: Box<DataType>, }, Function { args: Vec<DataType>, ret: Box<DataType>, }, Class { name: String, }, Data, IntermediateResult,
}
Expand description

Defines a DataType enum that is optimized for execution (and transferral along the wire).

Variants§

§

Any

Any type is accepted.

§

Void

No type is accepted.

§

Numeric

Allows both integers and reals.

§

Addable

Allows integers, reals and strings.

§

Callable

Allows any callable object.

§

NonVoid

Allows everything but Void

§

Boolean

Only Boolean values are accepted (i.e., true or false, 1 or 0, yes or no, etc).

§

Integer

Only Integral values are accepted (i.e., non-decimal numbers)

§

Real

Only Real values are accepted (i.e., decimal numbers)

§

String

Only String values are accepted (i.e., arrays of characters)

§

Semver

Only Semantic versioning are accepted (i.e., major.minor.patch)

§

Array

Fields

§elem_type: Box<DataType>

Arrays (i.e., a memory area divided into homogeneous types).

§

Function

Fields

Functions (i.e., executable pieces of code). Contains both the types (and arity) of its arguments and the return type.

§

Class

Fields

§name: String

Classes (i.e., a memory area divided into heterogeneous types). The usize indexes the signature into the Workflow’s global buffers.

§

Data

An externally represented dataset. The string is its identifier.

§

IntermediateResult

An externally represented dataset but one that may also be generated by functions.

Implementations§

source§

impl DataType

source

pub fn allowed_by(&self, other: &Self) -> bool

Returns if this DataType is the same or at least targeted of the given one.

A common use-case for this function is checking return types, where the return type would be the given one.

Arguments
  • allowed: The DataType that describes what is allowed.
Returns

Whether or not this DataType “is the same” as the other one.

source

pub fn is_void(&self) -> bool

Returns if this DataType is Void (i.e., no value).

Trait Implementations§

source§

impl Clone for DataType

source§

fn clone(&self) -> DataType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DataType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for DataType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for DataType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> FResult

Formats the value using the given formatter. Read more
source§

impl From<&Box<DataType, Global>> for Box<DataType>

source§

fn from(value: &Box<DataType>) -> Self

Converts to this type from the input type.
source§

impl From<&DataType> for DataType

source§

fn from(value: &DataType) -> Self

Converts to this type from the input type.
source§

impl From<&String> for DataType

source§

fn from(value: &String) -> Self

Converts to this type from the input type.
source§

impl From<&str> for DataType

source§

fn from(value: &str) -> Self

Converts to this type from the input type.
source§

impl From<Box<DataType, Global>> for Box<DataType>

source§

fn from(value: Box<DataType>) -> Self

Converts to this type from the input type.
source§

impl From<DataType> for DataType

source§

fn from(value: DataType) -> Self

Converts to this type from the input type.
source§

impl From<String> for DataType

source§

fn from(value: String) -> Self

Converts to this type from the input type.
source§

impl PartialEq<DataType> for DataType

source§

fn eq(&self, other: &DataType) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for DataType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for DataType

source§

impl StructuralEq for DataType

source§

impl StructuralPartialEq for DataType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for Twhere T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,