#[derive(ModuleParameters)]
{
// Attributes available to this derive:
#[module]
#[param]
}
Expand description
Derive the ModuleParameters
trait for a struct. Mark a field with
#[param]
attribute to include it in the parameters. The field type must
implement the mlx_rs::module::Parameter
trait.
§Example
ⓘ
use mlx_macros::ModuleParameters;
use mlx_rs::module::{ModuleParameters, Param};
#[derive(ModuleParameters)]
struct Example {
#[param]
regular: Param<Array>,
#[param]
optional: Param<Option<Array>>,
#[param]
nested: Inner,
#[param]
vec_nested: Vec<Inner>,
#[param]
trait_object: Box<dyn Module>,
#[param]
trait_object_vec: Vec<Box<dyn Module>>,
}
#[derive(ModuleParameters)]
struct Inner {
#[param]
a: Param<Array>,
}