diff --git a/src/api/mod.rs b/src/api/mod.rs index e25316a4..91b54c0b 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -1,5 +1,5 @@ use proc_macro2::{Span, TokenStream}; -use quote::{quote, ToTokens, TokenStreamExt}; +use quote::{quote, ToTokens}; use syn::{ braced, parse::{Parse, ParseStream, Result}, @@ -325,7 +325,7 @@ impl ToTokens for Api { } }; - tokens.append_all(quote! { + let api = quote! { #[allow(unused_imports)] use ::futures::{Future as _Future, IntoFuture as _IntoFuture, Stream as _Stream}; use ::ruma_api::Endpoint as _RumaApiEndpoint; @@ -459,7 +459,9 @@ impl ToTokens for Api { requires_authentication: #requires_authentication, }; } - }); + }; + + api.to_tokens(tokens); } } diff --git a/src/api/request.rs b/src/api/request.rs index 00238776..07fee5dd 100644 --- a/src/api/request.rs +++ b/src/api/request.rs @@ -1,5 +1,5 @@ use proc_macro2::{Span, TokenStream}; -use quote::{quote, quote_spanned, ToTokens, TokenStreamExt}; +use quote::{quote, quote_spanned, ToTokens}; use syn::{spanned::Spanned, Field, Ident, Lit, Meta, NestedMeta}; use crate::api::strip_serde_attrs; @@ -333,13 +333,15 @@ impl ToTokens for Request { TokenStream::new() }; - tokens.append_all(quote! { + let request = quote! { #request_struct_header #request_struct_body #request_body_struct #request_path_struct #request_query_struct - }); + }; + + request.to_tokens(tokens); } } diff --git a/src/api/response.rs b/src/api/response.rs index a0eb0688..4b6a25e7 100644 --- a/src/api/response.rs +++ b/src/api/response.rs @@ -1,5 +1,5 @@ use proc_macro2::{Span, TokenStream}; -use quote::{quote, quote_spanned, ToTokens, TokenStreamExt}; +use quote::{quote, quote_spanned, ToTokens}; use syn::{spanned::Spanned, Field, Ident, Lit, Meta, NestedMeta}; use crate::api::strip_serde_attrs; @@ -281,11 +281,13 @@ impl ToTokens for Response { TokenStream::new() }; - tokens.append_all(quote! { + let response = quote! { #response_struct_header #response_struct_body #response_body_struct - }); + }; + + response.to_tokens(tokens); } }