[][src]Trait proc_macro_roids::DeriveInputExt

pub trait DeriveInputExt {
    fn append_derives(&mut self, derives: Punctuated<NestedMeta, Comma>);
fn tag_parameter(&self, namespace: &Path, tag: &Path) -> Option<Meta>;
fn tag_parameters(&self, namespace: &Path, tag: &Path) -> Vec<Meta>; }

Functions to make it ergonomic to work with struct ASTs.

Required methods

fn append_derives(&mut self, derives: Punctuated<NestedMeta, Comma>)

Appends derives to the list of derives.

Note: This can only be used with attribute macros, and not derive macros.

  • If the derive attribute does not exist, one will be created.
  • If the derive attribute exists, and there are existing derives that overlap with the derives to append, this macro will panic with the overlapping derives.
  • If the derive attribute exists, and there are no overlapping derives, then they will be combined.

Panics

Panics if there are existing derives that overlap with the derives to append.

fn tag_parameter(&self, namespace: &Path, tag: &Path) -> Option<Meta>

Returns the parameter from #[namespace(tag(parameter))].

Parameters

  • namespace: The path() of the first-level attribute.
  • tag: The path() of the second-level attribute.

Panics

Panics if there is more than one parameter for the tag.

fn tag_parameters(&self, namespace: &Path, tag: &Path) -> Vec<Meta>

Returns the parameters from #[namespace(tag(param1, param2, ..))].

Parameters

  • namespace: The path() of the first-level attribute.
  • tag: The path() of the second-level attribute.
Loading content...

Implementations on Foreign Types

impl DeriveInputExt for DeriveInput[src]

Loading content...

Implementors

Loading content...