Crates.io | derive-quote-to-tokens |
lib.rs | derive-quote-to-tokens |
version | 0.1.1 |
source | src |
created_at | 2023-09-22 22:35:10.200841 |
updated_at | 2024-03-17 20:07:10.388957 |
description | derive quote::ToTokens |
homepage | |
repository | https://github.com/aatifsyed/derive-quote-to-tokens |
max_upload_size | |
id | 980903 |
size | 6,972 |
#[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![>]),
}