Module macro_tools::exposed

source ·
Expand description

Exposed namespace of the module.

Modules§

  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Functions and structures to handle and manipulate generic parameters using the syn crate. It’s designed to support macro-driven code generation by simplifying, merging, extracting, and decomposing syn::Generics.
  • This module provides various utilities and namespaces for working with syn::Item, specifically focusing on ensuring syntactical correctness and managing different visibility levels within the code. It includes functions to manipulate the structure of items, handle different kinds of fields, and provide a structured approach to organizing the codebase into different access levels.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Responsible for generating marker PhantomData fields to avoid the rule requiring the usage of all generic parameters in a struct. This is often necessary to ensure that Rust’s type system correctly tracks the ownership and lifetimes of these parameters without needing them to be explicitly used in the struct’s fields.
  • Structures and functions for handling syn::punctuated::Punctuated collections.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.
  • Protected namespace of the module.

Macros§

  • A type-macro that expands to the name of the Rust type representation of a given token.
  • Parse a set of curly braces and expose their content to subsequent parsers.
  • Parse a set of square brackets and expose their content to subsequent parsers.
  • Macro for diagnostics purpose to diagnose source code behind it and export it into a string.
  • Macro for diagnostics purpose to print both syntax tree and source code behind it without syntax tree.
  • Macro to export source code behind a syntax tree into a string.
  • Define a type that supports parsing and printing a given identifier as if it were a keyword.
  • Define a type that supports parsing and printing a multi-character symbol as if it were a punctuation token.
  • Formatting macro for constructing Idents.
  • Parse a set of parentheses and expose their content to subsequent parsers.
  • Parse the input TokenStream of a macro, triggering a compile error if the tokens fail to parse.
  • Quasi-quotation macro that accepts input like the quote! macro but uses type inference to figure out a return type for those tokens.
  • This macro is parse_quote! + quote_spanned!.
  • Quasi-quotation macro that accepts input like the quote! macro but uses type inference to figure out a return type for those tokens.
  • This macro is parse_quote! + quote_spanned!.
  • Macro to generate syn error either with span of a syntax tree element or with default one proc_macro2::Span::call_site().
  • Macro to generate syn error either with span of a syntax tree element or with default one proc_macro2::Span::call_site().
  • Macro for diagnostics purpose to export both syntax tree and source code behind it into a string.
  • Macro for diagnostics purpose to print both syntax tree and source code behind it with syntax tree.

Structs§

Traits§

  • Marker saying how to parse several elements of such type in a row.
  • Trait for components of a structure aggregating attributes that can be constructed from a meta attribute.
  • Trait for properties of an attribute component that can be identified by a keyword.
  • Convert it into canonical interval.
  • Trait that encapsulates a clonable iterator with specific characteristics, tailored for use with the syn crate.
  • Interval adapter. Interface to interval-like structures.
  • Trait to get name of an syntax element.
  • Interval adapter. Interface to interval-like structures.
  • A trait that can provide the Span of the complete contents of a syntax tree node.
  • Trait that encapsulates an iterator with specific characteristics, tailored for use with the syn crate and implemetning CloneDyn.

Functions§

  • Adds indentation and optional prefix/postfix to each line of the given string.
  • Formats a debugging report for code transformation processes, detailing both the original and generated code for easy comparison and review.
  • Prints a debugging report for a pair of token streams to the standard output.

Type Aliases§