Macro dtor

Source
macro_rules! dtor {
    (#[dtor $(($($meta:tt)*))?] $(#[$imeta:meta])* pub ( $($extra:tt)* ) $($item:tt)*) => { ... };
    (#[dtor $(($($meta:tt)*))?] $(#[$imeta:meta])* pub $($item:tt)*) => { ... };
    (#[dtor $(($($meta:tt)*))?] $(#[$imeta:meta])* fn $($item:tt)*) => { ... };
    (#[dtor $(($($meta:tt)*))?] $(#[$imeta:meta])* unsafe $($item:tt)*) => { ... };
    (#[$imeta:meta] $($rest:tt)*) => { ... };
    (__reorder__($(#[$imeta:meta],)*), #[dtor $(($($meta:tt)*))?] $($rest:tt)*) => { ... };
    (__reorder__($(#[$imeta:meta],)*), #[$imeta2:meta] $($rest:tt)*) => { ... };
}
Expand description

Parse a #[dtor]-annotated item as if it were a proc-macro.

dtor! {
  #[dtor]
  unsafe fn foo() { /* ... */ }
}