Module paste

Module paste 

Source
Expand description

Implementation of identifier pasting expansion ${paste }

MacrosΒ§

define_cases πŸ”’
Define cases using heck

StructsΒ§

AngleBrackets
Parsing state for $<...>
AtomForReport
One spanned input element, for use when reporting bad ident errors
ChangeCaseOkIn
Token that an associated ChangeCase has been checked for legal context
IdentFragInfallible
Uninhabited β€œbad identifier” error for conversions from already-tokens
InvalidIdent πŸ”’
Error that stands in for the syn::Error from an invalid identifier
Items
Accumulator for things to be pasted
Pasted πŸ”’
Core of the results from mk_ident
Surround πŸ”’
TokenPastesAsIdent
For use with ExpansionOutput.push_identfrag_toks

EnumsΒ§

AssemblyInstruction πŸ”’
ChangeCase
Item πŸ”’
Entry in a ${paste ...} or ${CASE ...}

TraitsΒ§

IdentFrag
For use with ExpansionOutput.append_identfrag_toks etc.

FunctionsΒ§

convert_to_ident πŸ”’
Obtain an actual syn::Ident from the results of pasting The meat of <Pasted as IdentFrag>::frag_to_tokens. Split off largely to save on rightward drift.
expand
mk_ident πŸ”’
Make a leaf identifier out of pieces

Type AliasesΒ§

Piece πŸ”’
Element of input to mk_ident: one bit of the leaf identifier