Skip to content

Instantly share code, notes, and snippets.

@CarlKCarlK
Created October 19, 2022 15:01
Show Gist options
  • Save CarlKCarlK/bd8022f32bdd427f5e554a3fb63a514e to your computer and use it in GitHub Desktop.
Save CarlKCarlK/bd8022f32bdd427f5e554a3fb63a514e to your computer and use it in GitHub Desktop.
To From Method
string of code literal code std::stringify!{}
string of code syntax tree !quote(#syntax_tree).to_string()
string of code TokenStream .to_string()
string of syntax literal code format!("{:?}",parse2::<SynType>(quote! {...}).expect(...)
string of syntax syntax tree format!("{:?}"),…), format!("{:#?}"),…)
string of tokens literal code format!("{:?}",quote! {...})
string of tokens TokenStream format!("{:?}"),…), format!("{:#?}"),…)
syn::Error TokenStream .to_compile_error() [see Rule #7]
syntax tree literal code parse_quote!(…)
syntax tree proc_macro::TokenStream parse_macro_input!(…), parse
syntax tree string of code parse_str(…)
syntax tree TokenStream parse2::<SynType>(…), etc
TokenStream literal code quote!(…)
TokenStream string of code parse_str(…)
TokenStream syntrax tree quote!(#syntax_tree) or .to_token_stream(),
TokenStream TokenStream .into(), ::from(...) [see Rule #1]
@mod7ex
Copy link

mod7ex commented Apr 2, 2023

Thanks))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment