Module utils

Module utils 

Source
Expand description

Utilities for proc macro implementation

Modulesยง

dprint
Calls eprintln! but only if enabled

Macrosยง

error_generator ๐Ÿ”’
impl_deref ๐Ÿ”’
impl_display ๐Ÿ”’
impl_to_tokens ๐Ÿ”’
keyword_general ๐Ÿ”’
General-purpose keyword parser

Structsยง

Concatenated
Type which parses as a concatenated series of T
Discard
Type which parses as T, but then discards it
DocAttributes
syn::Attribute(s) (zero or more) that are known to be a #[doc ].
ErrorAccumulator
Contains zero or more syn::Error
IdentAny
Like syn::Ident but parses using parse_any, accepting keywords
MacroExport
Token export (or pub), indicating that a macro should be exported
SyntheticMacroModule
SyntheticMacroName
Name of a thing of kind Kind
SyntheticMacroPath
SyntheticMacroTemplate
TokenOutputTrimmer
For making an output TokenStream, but eliding an unnecessary tail

Enumsยง

Grouping
Whether an expansion should be surrounded by a None-delimited Group

Traitsยง

MakeError
Provides .error() on impl Spanned and [ErrorLoc]
SyntheticMacroKind
Kind marker types
ToTokensPunctComposable
Convert to a token stream in a way that composes nicely

Functionsยง

braced_group
Construct a braced group from a token expansion
delimit_token_group
dummy_path
engine_macro_name
Return a full path to the location of derive_deftly_engine.
group_clone_set_stream
Returns a Group that is like g_in but with stream ts
group_new_with_span
Returns a Group, with a specified span
respan_hygiene
Respan the resolution hygiene of all identifiers to span
spans_join
Returns a span covering the inputs
synthetic_macro_name_check ๐Ÿ”’
synthetic_macro_name_macro_name ๐Ÿ”’
synthetic_macro_path_macro_path ๐Ÿ”’
synthetic_macro_path_parse ๐Ÿ”’
typepath_add_missing_argument_colons
Add any missing colons before < >โ€™d generic arguments

Type Aliasesยง

ErrorGenerator
ErrorLoc
Error location: span and what role that span plays
ModuleName
ModulePath
TemplateName
TemplatePath