Quantcast
Channel: error[E0277]: the trait bound `Vec: ToTokens` is not satisfied - Stack Overflow
Viewing all articles
Browse latest Browse all 2

error[E0277]: the trait bound `Vec: ToTokens` is not satisfied

$
0
0

I ran into this error and thought my very hacky workaround might be of use to someone.

Suppose I have some code (playground) which looks like this:

#[macro_use]extern crate quote;extern crate syn;extern crate proc_macro2; // 1.0.24fn main() {    let x = vec![        quote! {let x = 1;},        quote! {let x = 2;}    ];    println!("{:#?}", quote! {        #x    });}

This doesn't compile.

   Compiling playground v0.0.1 (/playground)error[E0277]: the trait bound `Vec<TokenStream2>: ToTokens` is not satisfied  --> src/main.rs:11:23   |11 |       println!("{:#?}", quote! {   |  _______________________^12 | |         #x13 | |     });   | |_____^ the trait `ToTokens` is not implemented for `Vec<TokenStream2>`   |   = note: required by `to_tokens`   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)error: aborting due to previous error

How do I use quote! to concatenate a Vec<proc_macro2::TokenStream>?


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images