guilt_by_association::guilty! [] [src]

macro_rules! guilty {
    ($(#[$attr:meta])* trait $traitname:ident $body:tt) => { ... };
    ($(#[$attr:meta])* pub trait $traitname:ident $body:tt) => { ... };
    (impl $traitname:ident for $structname:ident $body:tt) => { ... };
    ($structname:ident :: $constname:ident) => { ... };
    (INTERNAL: DEFINE TRAIT, [$(#[$attr:meta])*] [$($before:ident)+] [$($traitname:tt)*],
     {
         const $constname:ident : $consttype:ty = $constdefault:expr,
         $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE TRAIT, [$(#[$attr:meta])*] [$($before:ident)+] [$($traitname:tt)*],
     {
         const $constname:ident : $consttype:ty,
         $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE TRAIT, [$(#[$attr:meta])*] [$($before:ident)+] [$($traitname:tt)*],
     {
         fn $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE TRAIT, [$(#[$attr:meta])*] [$($before:ident)+] [$($traitname:tt)*],
     {
         # $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE TRAIT, [$(#[$attr:meta])*] [$($before:ident)+] [$($traitname:tt)*],
     {
         type $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE IMPL, $traitname:ty, $structname:ident,
     {
         const $constname:ident : $consttype:ty = $constvalue:expr,
         $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE IMPL, $traitname:ty, $structname:ident,
     {
         fn $($body:tt)*
     }) => { ... };
    (INTERNAL: DEFINE IMPL, $traitname:ty, $structname:ident,
     {
         type $($body:tt)*
     }) => { ... };
    (INTERNAL: ACCESS CONST, $structname:ident, $constname:ident) => { ... };
    (INTERNAL: AS ITEM, $i:item) => { ... };
}

Macro for declaring/implementing traits with fake associated consts

See the crate-level documentation for more.