Struct dusk_api::Type [−][src]
Structure representing main characteristics of an object type needed for the program, using the plugin, that either imports or defines this type in case this type is not present in the user program itself
A Type object contains
- type name, used for identifying this type
- its
TypeId
for Any trait to work properly
Fields
name: &'static str
Name for the TypeId
owner to be reffered to as a static
string
methods: Option<Vec<Function>>
If an object of this type should have some functions, that
can be called on it, they should be provided here. The
functions provided here should be called using the same
Freight::call_function
function, so they should
all have unique numbers
fields: Option<Vec<Function>>
All fields of an object of this type, user needs to be able
to access, should be located here. The field name then
will be the function name, functions return type is the
field type and the only argument of the function should
be of the type, the field is owned by. These functions
are once again called by the same Freight::call_function
function and should all have unique numbers over all functions
called by Freight::call_function
type_id: TypeId
TypeId
object, gotten from the structure, being
provided to the program, that is using the plugin
See std::any::TypeId
documentation to find out how
to get a type id of a type
Auto Trait Implementations
impl RefUnwindSafe for Type
[src]
impl Send for Type
[src]
impl Sync for Type
[src]
impl Unpin for Type
[src]
impl UnwindSafe for Type
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,