pub struct ProcMacro {
pub kind: MacroKind,
pub helpers: Vec<String>,
}
Expand description
A procedural macro.
Fields§
§kind: MacroKind
How this macro is supposed to be called: foo!()
, #[foo]
or #[derive(foo)]
helpers: Vec<String>
Helper attributes defined by a macro to be used inside it.
Defined only for derive macros.
E.g. the Default
derive macro defines a #[default]
helper attribute so that one can
do:
#[derive(Default)]
enum Option<T> {
#[default]
None,
Some(T),
}
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ProcMacro
impl<'de> Deserialize<'de> for ProcMacro
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ProcMacro
impl StructuralPartialEq for ProcMacro
Auto Trait Implementations§
impl Freeze for ProcMacro
impl RefUnwindSafe for ProcMacro
impl Send for ProcMacro
impl Sync for ProcMacro
impl Unpin for ProcMacro
impl UnwindSafe for ProcMacro
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes