usecrate::{Type, Types,datatype::DataType};/// Implemented by types that can be used as an argument in a function annotated with
/// [`specta`](crate::specta).
pubtraitFunctionArg{/// Gets the type of an argument as a [`DataType`].
////// Some argument types should be ignored (eg. when doing dependency injection),
/// so the value is optional.
fnto_datatype(types:&mut Types)->Option<DataType>;}impl<T: Type> FunctionArg forT{fnto_datatype(types:&mut Types)->Option<DataType>{Some(T::definition(types))}}