derive-quote-to-tokens

Crates.ioderive-quote-to-tokens
lib.rsderive-quote-to-tokens
version0.1.1
sourcesrc
created_at2023-09-22 22:35:10.200841
updated_at2024-03-17 20:07:10.388957
descriptionderive quote::ToTokens
homepage
repositoryhttps://github.com/aatifsyed/derive-quote-to-tokens
max_upload_size
id980903
size6,972
Aatif Syed (aatifsyed)

documentation

https://docs.rs/derive-quote-to-tokens

README

#[derive(ToTokens)], calling quote::ToTokens on each field. Nothing more, nothing less.

use derive_quote_to_tokens::ToTokens;
use quote::{ToTokens, quote};
use proc_macro2::Span;
use syn::{Token, Ident};

#[derive(ToTokens)]
struct Tag {
    lt: Token![<],
    inner: Ident,
    gt: Token![>],
}

let tag = /* snip */
assert_eq!(
    tag.to_token_stream().to_string(),
    quote! { <main> }.to_string(),
);

Enums work too.

#[derive(ToTokens)]
enum Arrow {
     Left(Token![<], Token![-]),
    Right(Token![-], Token![>]),
}
Commit count: 8

cargo fmt