๐ฌThis is a nightly-only experimental API. (
proc_macro_internals)Expand description
ยงQuasiquoter
This file contains the implementation internals of the quasiquoter provided by quote!.
This quasiquoter uses macros 2.0 hygiene to reliably access
items from proc_macro, to build a proc_macro::TokenStream.
Modulesยง
- ext ๐ป
Experimental - Extension traits used by the implementation of
quote!. These are defined in separate traits, rather than as a single trait due to ambiguity issues.
Macrosยง
- minimal_
quote ๐Experimental - Simpler version of the real
quote!macro, implemented solely throughmacro_rules, for bootstrapping the real implementation (see thequotefunction), which does not have access to the realquote!macro due to theproc_macrocrate not being able to depend on itself. - minimal_
quote_ ๐ts Experimental - minimal_
quote_ ๐tt Experimental
Structsยง
- HasIterator ๐ป
Experimental - RepInterp ๐ป
Experimental - There
IsNo ๐ปIterator InRepetition Experimental
Functionsยง
- collect_
meta_ ๐vars Experimental - Helper function to support macro repetitions like
$( CONTENTS ) SEP_OPT *inquote!. Recursively collects allIdents (meta-variables) that follow a$from the givenCONTENTSstream, preserving their order of appearance. - quote
Experimental - Quote a
TokenStreaminto aTokenStream. This is the actual implementation of thequote!()proc macro. - quote_
span Experimental - Quote a
Spaninto aTokenStream. This is needed to implement a custom quoter.