[][src]Macro dep_obj::dep_obj

macro_rules! dep_obj {
    (
        $(#[$attr:meta])* $vis:vis struct $name:ident $($body:tt)*
    ) => { ... };
    (
        @struct [$(#[$attr:meta])*] [$vis:vis] [$name:ident]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        become $system:ident in $Id:ty
        { $($body:tt)* }
    ) => { ... };
    (
        @struct [$(#[$attr:meta])*] [$vis:vis] [$name:ident]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        become $system:ident in $Id:ty
        { $($body:tt)* }

        use $($core:tt)*
    ) => { ... };
    (
        @struct [$(#[$attr:meta])*] [$vis:vis] [$name:ident]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        $($body:tt)*
    ) => { ... };
    (
        @core [$(#[$attr:meta])*] [$vis:vis] [$name:ident]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$system:ident] [$Id:ty]
        [
            $($(
               $(#[$no_clone:ident])? $field:ident $field_delim:tt $field_ty:ty $(= $field_val:expr)?
            ),+ $(,)?)?
        ]
        $(
            [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*] $BuilderCore:ty as BuilderCore;
        )?
    ) => { ... };
    (
        @core [$(#[$attr:meta])*] [$vis:vis] [$name:ident]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$system:ident] [$Id:ty]
        [
            $($body:tt)*
        ]
        $(
            [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*] $BuilderCore:ty as BuilderCore;
        )?
    ) => { ... };
    (
        @impl 
        [$builder:ident]
        [$(#[$attr:meta])*] [$vis:vis] [$name:ident] [$system:ident] [$Id:ty]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$(
            [$BuilderCore:ty] [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*]
            [$($builder_methods:tt)*]
        )?]
        [$($type_fields:tt)*]
        [$($type_methods:tt)*]
        [$($type_init:tt)*]
        [$($type_bundle:tt)*]
        [$($style_builder_methods:tt)*]
        [#[move] $field:ident : $field_ty:ty = $field_val:expr $(, $($other_fields:tt)+)?]
    ) => { ... };
    (
        @impl 
        [$builder:ident]
        [$(#[$attr:meta])*] [$vis:vis] [$name:ident] [$system:ident] [$Id:ty]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$(
            [$BuilderCore:ty] [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*]
            [$($builder_methods:tt)*]
        )?]
        [$($type_fields:tt)*]
        [$($type_methods:tt)*]
        [$($type_init:tt)*]
        [$($type_bundle:tt)*]
        [$($style_builder_methods:tt)*]
        [$field:ident : $field_ty:ty = $field_val:expr $(, $($other_fields:tt)+)?]
    ) => { ... };
    (
        @impl 
        [$builder:ident]
        [$(#[$attr:meta])*] [$vis:vis] [$name:ident] [$system:ident] [$Id:ty]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$(
            [$BuilderCore:ty] [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*]
            [$($builder_methods:tt)*]
        )?]
        [$($type_fields:tt)*]
        [$($type_methods:tt)*]
        [$($type_init:tt)*]
        [$($type_bundle:tt)*]
        [$($style_builder_methods:tt)*]
        [$field:ident yield $field_ty:ty $(, $($other_fields:tt)+)?]
    ) => { ... };
    (
        @impl 
        [$builder:ident]
        [$(#[$attr:meta])*] [$vis:vis] [$name:ident] [$system:ident] [$Id:ty]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$(
            [$BuilderCore:ty] [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*]
            [$($builder_methods:tt)*]
        )?]
        [$($type_fields:tt)*]
        [$($type_methods:tt)*]
        [$($type_init:tt)*]
        [$($type_bundle:tt)*]
        [$($style_builder_methods:tt)*]
        [$(#[$no_clone:ident])? $field:ident $field_delim:tt $field_ty:ty $(= $field_val:expr)? $(, $($other_fields:tt)+)?]
    ) => { ... };
    (
        @impl 
        [$builder:ident]
        [$(#[$attr:meta])*] [$vis:vis] [$name:ident] [$system:ident] [$Id:ty]
        [$($g:tt)*] [$($r:tt)*] [$($w:tt)*]
        [$(
            [$BuilderCore:ty] [$($bc_g:tt)*] [$($bc_r:tt)*] [$($bc_w:tt)*]
            [$($builder_methods:tt)*]
        )?]
        [$($type_fields:tt)*]
        [$($type_methods:tt)*]
        [$($type_init:tt)*]
        [$($type_bundle:tt)*]
        [$($style_builder_methods:tt)*]
        []
    ) => { ... };
}