+++ /dev/null
-use proc_macro::{Ident, Literal, TokenStream, TokenTree};
-use std::iter;
-
-pub(crate) trait ToTokens {
- fn to_tokens(&self, tokens: &mut TokenStream);
-
- fn to_token_stream(&self) -> TokenStream {
- let mut tokens = TokenStream::new();
- self.to_tokens(&mut tokens);
- tokens
- }
-}
-
-impl ToTokens for Ident {
- fn to_tokens(&self, tokens: &mut TokenStream) {
- tokens.extend(iter::once(TokenTree::Ident(self.clone())));
- }
-}
-
-impl ToTokens for Literal {
- fn to_tokens(&self, tokens: &mut TokenStream) {
- tokens.extend(iter::once(TokenTree::Literal(self.clone())));
- }
-}
-
-impl ToTokens for TokenTree {
- fn to_tokens(&self, tokens: &mut TokenStream) {
- tokens.extend(iter::once(self.clone()));
- }
-}
-
-impl ToTokens for TokenStream {
- fn to_tokens(&self, tokens: &mut TokenStream) {
- tokens.extend(self.clone());
- }
-}