Code Monkey home page Code Monkey logo

quasi's Introduction

Quasi is no longer maintained.

quasi's People

Contributors

dtolnay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quasi's Issues

Does not build with latest nightly rust

I get 6 errors when building with nightly rust:

/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:129:9: 129:97 error: mismatched types:
 expected `collections::vec::Vec<syntax::ast::TokenTree>`,
    found `core::result::Result<collections::vec::Vec<syntax::ast::TokenTree>, syntax::errors::DiagnosticBuilder<'_>>`
(expected struct `collections::vec::Vec`,
    found enum `core::result::Result`) [E0308]
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:129         parse_tts_from_source_str("<quote expansion>".to_string(), s, cx.cfg(), cx.parse_sess())
                                                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:129:9: 129:97 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:139:9: 139:97 error: mismatched types:
 expected `collections::vec::Vec<syntax::ast::TokenTree>`,
    found `core::result::Result<collections::vec::Vec<syntax::ast::TokenTree>, syntax::errors::DiagnosticBuilder<'_>>`
(expected struct `collections::vec::Vec`,
    found enum `core::result::Result`) [E0308]
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:139         parse_tts_from_source_str("<quote expansion>".to_string(), s, cx.cfg(), cx.parse_sess())
                                                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:139:9: 139:97 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:310:9: 314:53 error: mismatched types:
 expected `syntax::ptr::P<syntax::ast::Item>`,
    found `core::option::Option<syntax::ptr::P<syntax::ast::Item>>`
(expected struct `syntax::ptr::P`,
    found enum `core::option::Option`) [E0308]
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:310         parse::parse_item_from_source_str(
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:311             "<quote expansion>".to_string(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:312             s,
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:313             self.cfg(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:314             self.parse_sess()).expect("parse error")
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:310:9: 314:53 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:318:9: 321:83 error: mismatched types:
 expected `syntax::codemap::Spanned<syntax::ast::StmtKind>`,
    found `core::option::Option<syntax::codemap::Spanned<syntax::ast::StmtKind>>`
(expected struct `syntax::codemap::Spanned`,
    found enum `core::option::Option`) [E0308]
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:318         parse::parse_stmt_from_source_str("<quote expansion>".to_string(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:319                                           s,
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:320                                           self.cfg(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:321                                           self.parse_sess()).expect("parse error")
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:318:9: 321:83 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:325:9: 328:61 error: mismatched types:
 expected `syntax::ptr::P<syntax::ast::Expr>`,
    found `core::result::Result<syntax::ptr::P<syntax::ast::Expr>, syntax::errors::DiagnosticBuilder<'_>>`
(expected struct `syntax::ptr::P`,
    found enum `core::result::Result`) [E0308]
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:325         parse::parse_expr_from_source_str("<quote expansion>".to_string(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:326                                           s,
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:327                                           self.cfg(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:328                                           self.parse_sess())
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:325:9: 328:61 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:332:9: 335:60 error: mismatched types:
 expected `collections::vec::Vec<syntax::ast::TokenTree>`,
    found `core::result::Result<collections::vec::Vec<syntax::ast::TokenTree>, syntax::errors::DiagnosticBuilder<'_>>`
(expected struct `collections::vec::Vec`,
    found enum `core::result::Result`) [E0308]
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:332         parse::parse_tts_from_source_str("<quote expansion>".to_string(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:333                                          s,
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:334                                          self.cfg(),
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:335                                          self.parse_sess())
/home/freied/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.7.0/src/lib.rs:332:9: 335:60 help: run `rustc --explain E0308` to see a detailed explanation
error: aborting due to 6 previous errors
Build failed, waiting for other jobs to finish...
Could not compile `quasi`.

Can't compile on rustc 1.6.0-nightly (7499558dd 2015-11-28)

Compiling rustc-serialize v0.3.16

/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:76:14: 76:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:76         vec![ast::TtToken(DUMMY_SP, token::Ident(*self, token::Plain))]
                                                                                                                                  ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:76:9: 76:72 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:76:14: 76:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:82:14: 82:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:82         vec![ast::TtToken(DUMMY_SP, token::Interpolated(token::NtPath(Box::new(self.clone()))))]
                                                                                                                                  ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:82:9: 82:97 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:82:14: 82:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:88:14: 88:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:88         vec![ast::TtToken(self.span, token::Interpolated(token::NtTy(P(self.clone()))))]
                                                                                                                                  ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:88:9: 88:89 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:88:14: 88:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:94:14: 94:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:94         vec![ast::TtToken(self.span, token::Interpolated(token::NtTy(self.clone())))]
                                                                                                                                  ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:94:9: 94:86 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:94:14: 94:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:100:14: 100:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:100         vec![ast::TtToken(self.span, token::Interpolated(token::NtBlock(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:100:9: 100:89 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:100:14: 100:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:106:14: 106:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:106         vec![ast::TtToken(self.span, token::Interpolated(token::NtItem(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:106:9: 106:88 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:106:14: 106:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:112:14: 112:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:112         vec![ast::TtToken(self.span, token::Interpolated(token::NtImplItem(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:112:9: 112:92 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:112:14: 112:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:118:14: 118:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:118         vec![ast::TtToken(self.span, token::Interpolated(token::NtTraitItem(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:118:9: 118:93 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:118:14: 118:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:143:13: 143:25 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:143             ast::TtToken(self.span, token::Interpolated(token::NtStmt(self.clone())))
                                                                                                                                  ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:142:23: 144:10 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:143:13: 143:25 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:148:22: 148:34 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:148             tts.push(ast::TtToken(self.span, token::Semi));
                                                                                                                                           ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:148:22: 148:34 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:157:14: 157:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:157         vec![ast::TtToken(self.span, token::Interpolated(token::NtExpr(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:157:9: 157:88 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:157:14: 157:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:163:14: 163:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:163         vec![ast::TtToken(self.span, token::Interpolated(token::NtPat(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:163:9: 163:87 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:163:14: 163:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:169:14: 169:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:169         vec![ast::TtToken(DUMMY_SP, token::Interpolated(token::NtArm(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:169:9: 169:86 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:169:14: 169:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:190:35: 190:47 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:190 impl_to_tokens_slice! { ast::Ty, [ast::TtToken(DUMMY_SP, token::Comma)] }
                                                                                                                                                        ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:190:1: 190:74 note: in this expansion of impl_to_tokens_slice! (defined in /Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:190:35: 190:47 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:195:14: 195:26 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:195         vec![ast::TtToken(DUMMY_SP, token::Interpolated(token::NtMeta(self.clone())))]
                                                                                                                                   ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:195:9: 195:87 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:195:14: 195:26 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:203:16: 203:28 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:203         r.push(ast::TtToken(self.span, token::Pound));
                                                                                                                                     ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:203:16: 203:28 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:205:20: 205:32 error: unresolved name `ast::TtToken` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:205             r.push(ast::TtToken(self.span, token::Not));
                                                                                                                                         ^~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:205:20: 205:32 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:207:16: 207:32 error: unresolved name `ast::TtDelimited` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:207         r.push(ast::TtDelimited(self.span, Rc::new(ast::Delimited {
                                                                                                                                     ^~~~~~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:207:16: 207:32 help: run `rustc --explain E0425` to see a detailed explanation
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:227:14: 227:30 error: unresolved name `ast::TtDelimited` [E0425]
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:227         vec![ast::TtDelimited(DUMMY_SP, Rc::new(ast::Delimited {
                                                                                                                                   ^~~~~~~~~~~~~~~~
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:227:9: 232:13 note: in this expansion of vec! (defined in <std macros>)
/Users/user/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.5/src/lib.rs:227:14: 227:30 help: run `rustc --explain E0425` to see a detailed explanation
error: aborting due to 19 previous errors

Cannot compile on 1.0.0-beta-.4

Hey.

I was trying to use your library and got a really nasty set of compile errors. For reference I'm running 1.0.0-beta-.4.

   Compiling aster v0.2.2
   Compiling quasi v0.2.0
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:99:58: 99:75 error: unresolved name `token::NtImplItem`
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:99         vec![ast::TtToken(self.span, token::Interpolated(token::NtImplItem(self.clone())))]
                                                                                                                                                ^~~~~~~~~~~~~~~~~
<std macros>:1:1: 4:58 note: in expansion of vec!
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:99:9: 99:92 note: expansion site
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:105:58: 105:76 error: unresolved name `token::NtTraitItem`
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:105         vec![ast::TtToken(self.span, token::Interpolated(token::NtTraitItem(self.clone())))]
                                                                                                                                                 ^~~~~~~~~~~~~~~~~~
<std macros>:1:1: 4:58 note: in expansion of vec!
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:105:9: 105:93 note: expansion site
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:162:57: 162:69 error: unresolved name `token::NtArm`
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:162         vec![ast::TtToken(DUMMY_SP, token::Interpolated(token::NtArm(self.clone())))]
                                                                                                                                                ^~~~~~~~~~~~
<std macros>:1:1: 4:58 note: in expansion of vec!
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.2.0/src/lib.rs:162:9: 162:86 note: expansion site
error: aborting due to 3 previous errors
Build failed, waiting for other jobs to finish...
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/aster-0.2.2/src/lib.rs:1:1: 1:27 error: unstable feature
/home/test/.cargo/registry/src/github.com-1ecc6299db9ec823/aster-0.2.2/src/lib.rs:1 #![feature(rustc_private)]
                                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
note: this feature may not be used in the beta release channel
error: aborting due to previous error
Could not compile `quasi`.

To learn more, run the command again with --verbose.

I'm still pretty new to Rust, and im not exactly sure how to fix this in the interim. Can you help? Thanks!

ExprBuilder does not implement any method in scope named `vec`

Error building on the latest Nightly:

$ cargo build
   Compiling quasi_macros v0.2.0
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.2.0/src/lib.rs:457:25: 457:30 error: type `aster::expr::ExprBuilder<aster::stmt::StmtLetBuilder<aster::invoke::Identity>>` does not implement any method in scope named `vec`
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.2.0/src/lib.rs:457                 .expr().vec().build();
                                                                                                                ^~~~~
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.2.0/src/lib.rs:484:43: 484:47 error: type `aster::expr::ExprBuilder` does not implement any method in scope named `rc`
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.2.0/src/lib.rs:484             let e_rc_new = builder.expr().rc()
                                                                                                                                  ^~~~
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.2.0/src/lib.rs:606:18: 606:24 error: type `aster::item::ItemBuilder<aster::stmt::StmtItemBuilder<aster::invoke::Identity>>` does not implement any method in scope named `use_`
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.2.0/src/lib.rs:606                 .use_().ids(path.iter()).build()
                                                                                                         ^~~~~~
error: aborting due to 3 previous errors
Could not compile `quasi_macros`.

rustc --version: rustc 1.1.0-nightly (435622028 2015-05-04) (built 2015-05-05).

Build issues with nightly-2016-07-07

Hello there. I'm working on a REST api and am using several libraries like serde, diesel (orm), and iron. The latest nightly which diesel is able to compile with is nightly-2016-07-07. I'm attempting to get this project building and having errors when compiling quasi.

My Cargo.toml file looks like:

name = "league-api"
version = "0.0.1"

[dependencies]

# Serialization
serde = "0.8"
serde_json = "0.8"
serde_macros = "0.8"
syntex_syntax = "0.39"

# Iron
iron = "0.4"
persistent = "0.2"
router = "0.2"
bodyparser = "0.4"
hyper = "0.9"

# Data Persistence
diesel = "0.7"
r2d2-diesel = "0.7"
league_db = { path = "../db" }
r2d2 = "0.7"

# Util
regex = "0.1"
pwhash = "0.1"
rand = "0.3"
jwt = "0.4"
rust-crypto = "0.2"

My Cargo.lock is quite long, but if needed I can add it.

The error looks like:

/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:230:48: 235:11 error: mismatched types [E0308]
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:230         r.push(TokenTree::Delimited(self.span, Rc::new(tokenstream::Delimited {
                                                                                                                                                                                ^
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:230:48: 235:11 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:230:48: 235:11 note: expected type `syntax::tokenstream::Delimited`
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:230:48: 235:11 note:    found type `std::rc::Rc<syntax::tokenstream::Delimited>`
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:251:45: 256:11 error: mismatched types [E0308]
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:251         vec![TokenTree::Delimited(DUMMY_SP, Rc::new(tokenstream::Delimited {
                                                                                                                                                                             ^
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:251:9: 256:13 note: in this expansion of vec! (defined in <std macros>)
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:251:45: 256:11 help: run `rustc --explain E0308` to see a detailed explanation
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:251:45: 256:11 note: expected type `syntax::tokenstream::Delimited`
/home/freied/.multirust/toolchains/nightly-2016-07-07/cargo/registry/src/github.com-1ecc6299db9ec823/quasi-0.16.0/src/lib.rs:251:45: 256:11 note:    found type `std::rc::Rc<syntax::tokenstream::Delimited>`
error: aborting due to 2 previous errors
Build failed, waiting for other jobs to finish...
error: Could not compile `quasi`.

Any ideas?

Thanks!

Crates.io version fails to build.

This is due to the ">=" dependency on syntex_syntax.

Could you please push the updated version up?

As a side note: if you're going to introduce breaking changes in a package, it's probably best to pin specific versions of it in the packages that depend on it, rather than blanket > relationships.

type mismatch on syntex::Registry on nightly

rustc 1.5.0-nightly (20a6938c0 2015-10-16)

/Users/mbp/.multirust/toolchains/nightly/cargo/registry/src/github.com-0a35038f75765ae4/quasi_macros-0.3.4/src/lib.rs:19:29: 19:32 error: mismatched types:
 expected `&mut syntex::Registry`,
    found `&mut rustc::plugin::registry::Registry<'_>`
(expected struct `syntex::Registry`,
    found struct `rustc::plugin::registry::Registry`) [E0308]
/Users/mbp/.multirust/toolchains/nightly/cargo/registry/src/github.com-0a35038f75765ae4/quasi_macros-0.3.4/src/lib.rs:19     quasi_codegen::register(reg);
                                                                                                                                                     ^~~
/Users/mbp/.multirust/toolchains/nightly/cargo/registry/src/github.com-0a35038f75765ae4/quasi_macros-0.3.4/src/lib.rs:19:29: 19:32 help: run `rustc --explain E0308` to see a detailed explanation

Macros stripped by quasi_codegen::expand

Hi there,

I'm in the process of updating servo/rust-bindgen's aster/quasi/syntรฆx stack to the latest releases from *mumble* 0.28/0.20/0.44 respectively.

Using the new versions, some key context-sensitive macros are stripped during expansion -- is this a bug, or an intentional change?

You can see the chatter about this problem on rust-lang/rust-bindgen#270, including an example of the before/after expansion and stripped macro.

Thanks,
Jeff

serde_codegen doesn't compile because of quasi_macros

After updating everything, all is fine now again. Please close this issue. sorry for the unnecessary issue.

I am using the rust nightly build and get the following error. Below you can see the Serde version (0.7) all from the current git repository:

Compiling serde_codegen v0.7.13
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21:5: 21:28 error: function register is private
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21 quasi_codegen::register(reg);
^~~~~~~~~~~~~~~~~~~~~~~
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21:29: 21:32 error: mismatched types [E0308]
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21 quasi_codegen::register(reg);
^~~
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21:29: 21:32 help: run rustc --explain E0308 to see a detailed explanation
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21:29: 21:32 note: expected type &mut syntex::Registry
.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.14.0/src/lib.rs:21:29: 21:32 note: found type &mut rustc_plugin::Registry<'_>

Compilation error on nightly

   Compiling quasi v0.3.2

     Running `rustc /Users/travis/.cargo/registry/src/github.com-0a35038f75765ae4/quasi-0.3.2/src/lib.rs --crate-name quasi --crate-type lib -g -C metadata=1fdecb603ecbb4c6 -C extra-filename=-1fdecb603ecbb4c6 --out-dir /Users/travis/build/servo/rust-layers/target/debug/deps --emit=dep-info,link -L dependency=/Users/travis/build/servo/rust-layers/target/debug/deps -L dependency=/Users/travis/build/servo/rust-layers/target/debug/deps --cap-lints allow`

/Users/travis/.cargo/registry/src/github.com-0a35038f75765ae4/quasi-0.3.2/src/lib.rs:204:31: 204:45 error: unresolved name `ast::AttrInner` [E0425]

/Users/travis/.cargo/registry/src/github.com-0a35038f75765ae4/quasi-0.3.2/src/lib.rs:204         if self.node.style == ast::AttrInner {

                                                                                                                       ^~~~~~~~~~~~~~

/Users/travis/.cargo/registry/src/github.com-0a35038f75765ae4/quasi-0.3.2/src/lib.rs:204:31: 204:45 help: run `rustc --explain E0425` to see a detailed explanation

error: aborting due to previous error

failed build quasi

โžœ quasi git:(master) rustc --version
rustc 1.6.0
โžœ quasi git:(master) cargo --version
cargo 0.8.0 (28a0cbb 2016-01-17)
โžœ quasi git:(master) cargo build
Updating registry https://github.com/rust-lang/crates.io-index
Compiling quasi v0.4.0 (file:///tmp/quasi/quasi)
src/lib.rs:335:9: 335:17 error: macro undefined: 'panictry!'
src/lib.rs:335 panictry!(parser.parse_expr())
^~~~~~~~
src/lib.rs:339:9: 339:17 error: macro undefined: 'panictry!'
src/lib.rs:339 panictry!(parser.parse_item())
^~~~~~~~
src/lib.rs:343:9: 343:17 error: macro undefined: 'panictry!'
src/lib.rs:343 panictry!(parser.parse_pat())
^~~~~~~~
src/lib.rs:347:9: 347:17 error: macro undefined: 'panictry!'
src/lib.rs:347 panictry!(parser.parse_arm())
^~~~~~~~
src/lib.rs:351:9: 351:17 error: macro undefined: 'panictry!'
src/lib.rs:351 panictry!(parser.parse_ty())
^~~~~~~~
src/lib.rs:355:5: 355:13 error: macro undefined: 'panictry!'
src/lib.rs:355 panictry!(parser.parse_stmt())
^~~~~~~~
src/lib.rs:359:9: 359:17 error: macro undefined: 'panictry!'
src/lib.rs:359 panictry!(parser.parse_attribute(permit_inner))
^~~~~~~~
error: aborting due to 7 previous errors
Could not compile quasi.

Build fails with current rust/master

    $cargo build
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading serde_codegen v0.6.8
   Compiling serde_codegen v0.6.8
   Compiling quasi v0.3.12
   Compiling aster v0.9.3
   Compiling quasi_codegen v0.3.12
<syntax macros>:5:1: 5:9 error: mismatched types:
 expected `bool`,
    found `core::result::Result<_, _>`
(expected bool,
    found enum `core::result::Result`) [E0308]
<syntax macros>:5 Ok ( e ) => e , Err ( mut e ) => { e . emit (  ) ; panic ! ( FatalError ) ; }
                  ^~~~~~~~
D:\msys2\home\euan\.cargo\registry\src\github.com-0a35038f75765ae4\quasi_codegen-0.3.12\src\lib.rs:589:9: 589:40 note: in this expansion of panictry! (defined in <syntax macros>)
<syntax macros>:5:1: 5:9 help: run `rustc --explain E0308` to see a detailed explanation
<syntax macros>:5:17: 5:30 error: mismatched types:
 expected `bool`,
    found `core::result::Result<_, _>`
(expected bool,
    found enum `core::result::Result`) [E0308]
<syntax macros>:5 Ok ( e ) => e , Err ( mut e ) => { e . emit (  ) ; panic ! ( FatalError ) ; }
                                  ^~~~~~~~~~~~~
D:\msys2\home\euan\.cargo\registry\src\github.com-0a35038f75765ae4\quasi_codegen-0.3.12\src\lib.rs:589:9: 589:40 note: in this expansion of panictry! (defined in <syntax macros>)
<syntax macros>:5:17: 5:30 help: run `rustc --explain E0308` to see a detailed explanation
<syntax macros>:5:36: 5:49 error: the type of this value must be known in this context
<syntax macros>:5 Ok ( e ) => e , Err ( mut e ) => { e . emit (  ) ; panic ! ( FatalError ) ; }
                                                     ^~~~~~~~~~~~~
D:\msys2\home\euan\.cargo\registry\src\github.com-0a35038f75765ae4\quasi_codegen-0.3.12\src\lib.rs:589:9: 589:40 note: in this expansion of panictry! (defined in <syntax macros>)
error: aborting due to 3 previous errors
Could not compile `quasi_codegen`.

To learn more, run the command again with --verbose.

function `register` is private

This happened after a recent upgrade:

/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21:5: 21:28 error: function `register` is private
/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21     quasi_codegen::register(reg);
                                                                                                       ^~~~~~~~~~~~~~~~~~~~~~~
/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21:29: 21:32 error: mismatched types [E0308]
/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21     quasi_codegen::register(reg);
                                                                                                                               ^~~
/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21:29: 21:32 help: run `rustc --explain E0308` to see a detailed explanation
/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21:29: 21:32 note: expected type `&mut syntex::Registry`
/Users/mitsuhiko/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_macros-0.15.0/src/lib.rs:21:29: 21:32 note:    found type `&mut rustc_plugin::Registry<'_>`

Does not compile on 1.11.0-nightly (01411937f 2016-07-01)

error: unresolved import `syntax::ast::TokenTree`. There is no `TokenTree` in `syntax::ast` [--explain E0432]
  --> src/lib.rs:28:25
   |>
28 |> use syntax::ast::{self, TokenTree};
   |>                         ^^^^^^^^^

error: unresolved import `errors::FatalError`. Maybe a missing `extern crate errors`? [--explain E0432]
 --> <syntax macros>:3:51
  |>
3 |> use std :: result :: Result :: { Ok , Err } ; use errors :: FatalError ; match
  |>                                                   ^^^^^^^^^^^^^^^^^^^^
src/lib.rs:138:9: 138:108: note: in this expansion of panictry! (defined in <syntax macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
  --> src/lib.rs:84:14
   |>
84 |>         vec![ast::TokenTree::Token(DUMMY_SP, token::Ident(*self))]
   |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:84:9: 84:67: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
  --> src/lib.rs:90:14
   |>
90 |>         vec![ast::TokenTree::Token(DUMMY_SP, token::Interpolated(token::NtPath(Box::new(self.clone()))))]
   |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:90:9: 90:106: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
  --> src/lib.rs:96:14
   |>
96 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtTy(P(self.clone()))))]
   |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:96:9: 96:98: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:102:14
    |>
102 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtTy(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:102:9: 102:95: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:108:14
    |>
108 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtBlock(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:108:9: 108:98: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:114:14
    |>
114 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtItem(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:114:9: 114:97: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:120:14
    |>
120 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtImplItem(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:120:9: 120:101: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:126:14
    |>
126 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtTraitItem(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:126:9: 126:102: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:160:13
    |>
160 |>             ast::TokenTree::Token(self.span, token::Interpolated(token::NtStmt(P(self.clone()))))
    |>             ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:159:23: 161:10: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:165:22
    |>
165 |>             tts.push(ast::TokenTree::Token(self.span, token::Semi));
    |>                      ^^^^^^^^^^^^^^^^^^^^^

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:174:14
    |>
174 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtExpr(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:174:9: 174:97: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:180:14
    |>
180 |>         vec![ast::TokenTree::Token(self.span, token::Interpolated(token::NtPat(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:180:9: 180:96: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:186:14
    |>
186 |>         vec![ast::TokenTree::Token(DUMMY_SP, token::Interpolated(token::NtArm(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:186:9: 186:95: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:207:35
    |>
207 |> impl_to_tokens_slice! { ast::Ty, [ast::TokenTree::Token(DUMMY_SP, token::Comma)] }
    |>                                   ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:207:1: 207:83: note: in this expansion of impl_to_tokens_slice! (defined in src/lib.rs)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:212:14
    |>
212 |>         vec![ast::TokenTree::Token(DUMMY_SP, token::Interpolated(token::NtMeta(self.clone())))]
    |>              ^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:212:9: 212:96: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:220:16
    |>
220 |>         r.push(ast::TokenTree::Token(self.span, token::Pound));
    |>                ^^^^^^^^^^^^^^^^^^^^^

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:222:20
    |>
222 |>             r.push(ast::TokenTree::Token(self.span, token::Not));
    |>                    ^^^^^^^^^^^^^^^^^^^^^

error: `ast::Delimited` does not name a structure [--explain E0422]
   --> src/lib.rs:224:61
    |>
224 |>         r.push(ast::TokenTree::Delimited(self.span, Rc::new(ast::Delimited {
    |>                                                             ^^^^^^^^^^^^^^

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:224:16
    |>
224 |>         r.push(ast::TokenTree::Delimited(self.span, Rc::new(ast::Delimited {
    |>                ^^^^^^^^^^^^^^^^^^^^^^^^^

error: `ast::Delimited` does not name a structure [--explain E0422]
   --> src/lib.rs:245:58
    |>
245 |>         vec![ast::TokenTree::Delimited(DUMMY_SP, Rc::new(ast::Delimited {
    |>                                                          ^^^^^^^^^^^^^^
src/lib.rs:245:9: 250:13: note: in this expansion of vec! (defined in <std macros>)

error: failed to resolve. Could not find `TokenTree` in `syntax::ast` [--explain E0433]
   --> src/lib.rs:245:14
    |>
245 |>         vec![ast::TokenTree::Delimited(DUMMY_SP, Rc::new(ast::Delimited {
    |>              ^^^^^^^^^^^^^^^^^^^^^^^^^
src/lib.rs:245:9: 250:13: note: in this expansion of vec! (defined in <std macros>)

error: type name `ast::TokenTree` is undefined or not in scope [--explain E0412]
   --> src/lib.rs:332:43
    |>
332 |>     fn parse_tts(&self, s: String) -> Vec<ast::TokenTree>;
    |>                                           ^^^^^^^^^^^^^^ undefined or not in scope
help: you can import it into scope: `use syntax::tokenstream::TokenTree;`.

error: type name `ast::TokenTree` is undefined or not in scope [--explain E0412]
   --> src/lib.rs:361:43
    |>
361 |>     fn parse_tts(&self, s: String) -> Vec<ast::TokenTree> {
    |>                                           ^^^^^^^^^^^^^^ undefined or not in scope
help: you can import it into scope: `use syntax::tokenstream::TokenTree;`.

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:46:1
   |>
46 |> impl<'a, T: ToTokens> ToTokens for &'a T {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:52:1
   |>
52 |> impl<'a, T: ToTokens> ToTokens for &'a [T] {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:60:1
   |>
60 |> impl<T: ToTokens> ToTokens for Vec<T> {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:66:1
   |>
66 |> impl<T: ToTokens> ToTokens for Spanned<T> {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:73:1
   |>
73 |> impl<T: ToTokens> ToTokens for Option<T> {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:82:1
   |>
82 |> impl ToTokens for ast::Ident {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:88:1
   |>
88 |> impl ToTokens for ast::Path {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
  --> src/lib.rs:94:1
   |>
94 |> impl ToTokens for ast::Ty {
   |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:100:1
    |>
100 |> impl ToTokens for P<ast::Ty> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:106:1
    |>
106 |> impl ToTokens for P<ast::Block> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:112:1
    |>
112 |> impl ToTokens for P<ast::Item> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:118:1
    |>
118 |> impl ToTokens for P<ast::ImplItem> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:124:1
    |>
124 |> impl ToTokens for P<ast::TraitItem> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:130:1
    |>
130 |> impl ToTokens for ast::Generics {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:142:1
    |>
142 |> impl ToTokens for ast::WhereClause {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:157:1
    |>
157 |> impl ToTokens for ast::Stmt {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:172:1
    |>
172 |> impl ToTokens for P<ast::Expr> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:178:1
    |>
178 |> impl ToTokens for P<ast::Pat> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:184:1
    |>
184 |> impl ToTokens for ast::Arm {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:192:9
    |>
192 |>         impl ToTokens for [$t] {
    |>         ^
src/lib.rs:207:1: 207:83: note: in this expansion of impl_to_tokens_slice! (defined in src/lib.rs)
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:192:9
    |>
192 |>         impl ToTokens for [$t] {
    |>         ^
src/lib.rs:208:1: 208:43: note: in this expansion of impl_to_tokens_slice! (defined in src/lib.rs)
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:210:1
    |>
210 |> impl ToTokens for P<ast::MetaItem> {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:216:1
    |>
216 |> impl ToTokens for ast::Attribute {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:234:1
    |>
234 |> impl ToTokens for str {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:243:1
    |>
243 |> impl ToTokens for () {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:254:1
    |>
254 |> impl ToTokens for ast::Lit {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:266:1
    |>
266 |> impl ToTokens for bool {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:272:1
    |>
272 |> impl ToTokens for char {
    |> ^
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:293:9
    |>
293 |>         impl ToTokens for $t {
    |>         ^
src/lib.rs:316:1: 316:54: note: in this expansion of impl_to_tokens_int! (defined in src/lib.rs)
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `ToTokens`: [--explain E0119]
   --> src/lib.rs:307:9
    |>
307 |>         impl ToTokens for $t {
    |>         ^
src/lib.rs:322:1: 322:57: note: in this expansion of impl_to_tokens_int! (defined in src/lib.rs)
note: conflicting implementation is here:
  --> src/lib.rs:40:1
   |>
40 |> impl ToTokens for TokenTree {
   |> ^

error: conflicting implementations of trait `IntoWrappedRepeat`: [--explain E0119]
   --> src/lib.rs:280:9
    |>
280 |>         impl IntoWrappedRepeat for $t {
    |>         ^
src/lib.rs:538:1: 538:33: note: in this expansion of impl_wrap_repeat! (defined in src/lib.rs)
note: conflicting implementation is here:
   --> src/lib.rs:280:9
    |>
280 |>         impl IntoWrappedRepeat for $t {
    |>         ^
src/lib.rs:537:1: 537:32: note: in this expansion of impl_wrap_repeat! (defined in src/lib.rs)

Does not compile on rustc 1.14.0-nightly (f09420685 2016-10-20)

quasi_codegen$ cargo build --no-default-features
   Compiling aster v0.30.0
   Compiling quasi_codegen v0.22.0
error[E0531]: unresolved tuple struct/variant `token::SpecialVarNt`
   --> src/lib.rs:442:11
    |
442 |         | token::SpecialVarNt(..) => {
    |           ^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

token::{Plain, Ident} build failure with rust@master

/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82:66: 82:78 error: unresolved name `token::Plain` [E0425]
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82         vec![ast::TokenTree::Token(DUMMY_SP, token::Ident(*self, token::Plain))]
                                                                                                                                                     ^~~~~~~~~~~~
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82:66: 82:78 note: in this expansion of vec! (defined in <std macros>)
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82:66: 82:78 help: run `rustc --explain E0425` to see a detailed explanation
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82:46: 82:79 error: this function takes 1 parameter but 2 parameters were supplied [E0061]
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82         vec![ast::TokenTree::Token(DUMMY_SP, token::Ident(*self, token::Plain))]
                                                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82:46: 82:79 note: in this expansion of vec! (defined in <std macros>)
/rustjail/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.9.0/src/lib.rs:82:46: 82:79 help: run `rustc --explain E0061` to see a detailed explanation

&[u8] is not interned but taken as individual u8

let x: &[u8] = b"hi";
let y = quote_stmt!(cx, let z = $x;);

may cause unreadable errors with broken spans in similar code and in this code causes z to have type u8 instead of &[u8]

my workaround is to manually create the LitBinary:

let x = syntax::ast::LitBinary(std::rc::Rc::new(x.iter().cloned().collect()));
let x = Spanned {
    node: x,
    span: sp,
};

Build Fail on Nightly 2016-01-01

I'm getting a number of compile errors on nightly 2016-01-1

<std macros>:3:1: 3:28 error: the trait `core::marker::Sync` is not implemented for the type `core::cell::UnsafeCell<Box<syntax::errors::emitter::Emitter + 'static>>` [E0277]
<std macros>:3 $ crate:: rt:: begin_unwind (
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:336:25: 336:36 note: in this expansion of panic! (defined in <std macros>)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:342:9: 342:39 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
<std macros>:3:1: 3:28 help: run `rustc --explain E0277` to see a detailed explanation
<std macros>:3:1: 3:28 note: `core::cell::UnsafeCell<Box<syntax::errors::emitter::Emitter + 'static>>` cannot be shared between threads safely
<std macros>:3:1: 3:28 note: required because it appears within the type `core::cell::RefCell<Box<syntax::errors::emitter::Emitter + 'static>>`
<std macros>:3:1: 3:28 note: required because it appears within the type `syntax::errors::DiagnosticBuilder<'_>`
<std macros>:3:1: 3:28 note: required by `std::sys_common::unwind::begin_unwind`
<std macros>:3:1: 3:28 error: the trait `core::marker::Sync` is not implemented for the type `core::cell::UnsafeCell<usize>` [E0277]
<std macros>:3 $ crate:: rt:: begin_unwind (
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:336:25: 336:36 note: in this expansion of panic! (defined in <std macros>)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:342:9: 342:39 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
<std macros>:3:1: 3:28 help: run `rustc --explain E0277` to see a detailed explanation
<std macros>:3:1: 3:28 note: `core::cell::UnsafeCell<usize>` cannot be shared between threads safely
<std macros>:3:1: 3:28 note: required because it appears within the type `core::cell::Cell<usize>`
<std macros>:3:1: 3:28 note: required because it appears within the type `core::cell::RefCell<Box<syntax::errors::emitter::Emitter + 'static>>`
<std macros>:3:1: 3:28 note: required because it appears within the type `syntax::errors::DiagnosticBuilder<'_>`
<std macros>:3:1: 3:28 note: required by `std::sys_common::unwind::begin_unwind`
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346:26: 346:38 error: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [E0495]
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
                                                                                                                  ^~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346:9: 346:39 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:345:70: 347:2 note: first, the lifetime cannot outlive the destruction scope surrounding block at 345:69...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:345 pub fn parse_item_panic(parser: &mut Parser) -> Option<P<ast::Item>> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:347 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346:19: 346:38 note: ...so that references are valid when the destructor runs
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
                                                                                                           ^~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346:9: 346:39 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:345:70: 347:2 note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the block at 345:69...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:345 pub fn parse_item_panic(parser: &mut Parser) -> Option<P<ast::Item>> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:347 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346:26: 346:38 note: ...so that types are compatible (expected `&mut syntax::parse::parser::Parser<'_>`, found `&mut syntax::parse::parser::Parser<'_>`)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
                                                                                                                  ^~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346:9: 346:39 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350:26: 350:37 error: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [E0495]
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
                                                                                                                  ^~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350:9: 350:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:349:60: 351:2 note: first, the lifetime cannot outlive the destruction scope surrounding block at 349:59...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:349 pub fn parse_pat_panic(parser: &mut Parser) -> P<ast::Pat> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:351 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350:19: 350:37 note: ...so that references are valid when the destructor runs
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
                                                                                                           ^~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350:9: 350:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:349:60: 351:2 note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the block at 349:59...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:349 pub fn parse_pat_panic(parser: &mut Parser) -> P<ast::Pat> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:351 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350:26: 350:37 note: ...so that types are compatible (expected `&mut syntax::parse::parser::Parser<'_>`, found `&mut syntax::parse::parser::Parser<'_>`)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
                                                                                                                  ^~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350:9: 350:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:26: 354:37 error: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [E0495]
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                                  ^~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:9: 354:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:19: 354:37 note: first, the lifetime cannot outlive the method call at 354:18...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                           ^~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:9: 354:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:19: 354:37 note: ...so type `fn(&mut syntax::parse::parser::Parser<'_>) -> core::result::Result<syntax::ast::Arm, syntax::errors::DiagnosticBuilder<'_>>` of expression is valid during the expression
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                           ^~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:9: 354:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:353:57: 355:2 note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the block at 353:56...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:353 pub fn parse_arm_panic(parser: &mut Parser) -> ast::Arm {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:355 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:26: 354:37 note: ...so that types are compatible (expected `&mut syntax::parse::parser::Parser<'_>`, found `&mut syntax::parse::parser::Parser<'_>`)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                                  ^~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354:9: 354:38 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358:26: 358:36 error: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [E0495]
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
                                                                                                                  ^~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358:9: 358:37 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:357:58: 359:2 note: first, the lifetime cannot outlive the destruction scope surrounding block at 357:57...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:357 pub fn parse_ty_panic(parser: &mut Parser) -> P<ast::Ty> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:359 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358:19: 358:36 note: ...so that references are valid when the destructor runs
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
                                                                                                           ^~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358:9: 358:37 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:357:58: 359:2 note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the block at 357:57...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:357 pub fn parse_ty_panic(parser: &mut Parser) -> P<ast::Ty> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:359 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358:26: 358:36 note: ...so that types are compatible (expected `&mut syntax::parse::parser::Parser<'_>`, found `&mut syntax::parse::parser::Parser<'_>`)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
                                                                                                                  ^~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358:9: 358:37 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:22: 362:34 error: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [E0495]
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                              ^~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:5: 362:35 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:15: 362:34 note: first, the lifetime cannot outlive the method call at 362:14...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                       ^~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:5: 362:35 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:15: 362:34 note: ...so type `fn(&mut syntax::parse::parser::Parser<'_>) -> core::result::Result<core::option::Option<syntax::ptr::P<syntax::codemap::Spanned<syntax::ast::Stmt_>>>, syntax::errors::DiagnosticBuilder<'_>>` of expression is valid during the expression
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                       ^~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:5: 362:35 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:361:70: 363:2 note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the block at 361:69...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:361 pub fn parse_stmt_panic(parser: &mut Parser) -> Option<P<ast::Stmt>> {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:363 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:22: 362:34 note: ...so that types are compatible (expected `&mut syntax::parse::parser::Parser<'_>`, found `&mut syntax::parse::parser::Parser<'_>`)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                              ^~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362:5: 362:35 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:26: 366:55 error: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [E0495]
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:9: 366:56 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:19: 366:55 note: first, the lifetime cannot outlive the method call at 366:18...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:9: 366:56 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:19: 366:55 note: ...so type `fn(&mut syntax::parse::parser::Parser<'_>, bool) -> core::result::Result<syntax::codemap::Spanned<syntax::ast::Attribute_>, syntax::errors::DiagnosticBuilder<'_>>` of expression is valid during the expression
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:9: 366:56 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:365:89: 367:2 note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the block at 365:88...
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:365 pub fn parse_attribute_panic(parser: &mut Parser, permit_inner: bool) -> ast::Attribute {
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:367 }
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:26: 366:55 note: ...so that types are compatible (expected `&mut syntax::parse::parser::Parser<'_>`, found `&mut syntax::parse::parser::Parser<'_>`)
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366:9: 366:56 note: in this expansion of panictry! (defined in /home/ashley/.cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
error: aborting due to 8 previous errors

It looks like most of it's about lifetimes in the panictry macro.

quasi_codegen compile error

I get the following error when compiling quasi_codegen (included from serde) on rustc 1.6.0-nightly (b7845f93b 2015-11-15)

586:39 error: no method named `parse_expr_panic` found for type `syntax::parse::parser::Parser<'_>` in the current scope

`<quote\ expansion` in fingerprints

When building a serde_macros-dependent code, a string from quasi (https://github.com/erickt/rust-quasi/blob/d9ec71215002076dd0102698b22f78fb8f748e71/quasi/src/lib.rs#L126) ends up in the cargo fingerprint files. For example:

git clone https://github.com/Byron/yup-oauth2
cd yup-oauth2 && cargo build
cat target/debug/.fingerprint/yup-oauth2-*/dep-lib-yup-oauth2

would produce

/tmp/yup-oauth2/tmp/yup-oauth2/target/debug/libyup_oauth2.rlib: src/lib.rs src/device.rs src/refresh.rs src/common.rs src/helper.rs <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion

/tmp/yup-oauth2/target/debug/yup_oauth2.d: src/lib.rs src/device.rs src/refresh.rs src/common.rs src/helper.rs <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion <quote\ expansion

I wonder if that makes cargo rebuild the project every time (rust-lang/cargo#1215 (comment)).

Would appreciate if quasi wouldn't leak these.

Does not compile with nightly

[...]/quasi_codegen-0.3.1/src/lib.rs:335:24: 335:37 error
: unresolved enum variant, struct or const `Binary` [E0419]
[...]/quasi_codegen-0.3.1/src/lib.rs:335         token::Literal(token::Binary(ident), suf) => {
                                                                ^~~~~~~~~~~~~
[...]/quasi_codegen-0.3.1/src/lib.rs:335:24: 335:37 help:
 run `rustc --explain E0419` to see a detailed explanation
[...]/quasi_codegen-0.3.1/src/lib.rs:339:24: 339:40 error
: unresolved enum variant, struct or const `BinaryRaw` [E0419]
[...]/quasi_codegen-0.3.1/src/lib.rs:339         token::Literal(token::BinaryRaw(ident, n), suf) => {
                                                                ^~~~~~~~~~~~~~~~
[...]/quasi_codegen-0.3.1/src/lib.rs:339:24: 339:40 help:
 run `rustc --explain E0419` to see a detailed explanation
error: aborting due to 2 previous errors

Compilation error

I wonder if it is an unstable dependency on quasi_macro

/Users/dbasak/.cargo/registry/src/github.com-0a35038f75765ae4/quasi_macros-0.3.2/src/lib.rs:11:1: 11:63 error: #[feature] may not be used on the stable release channel
/Users/dbasak/.cargo/registry/src/github.com-0a35038f75765ae4/quasi_macros-0.3.2/src/lib.rs:11 #![feature(plugin_registrar, unboxed_closures, rustc_private)]
error: aborting due to previous error
Build failed, waiting for other jobs to finish...
Could not compile `quasi_macros`.

Breakage with recent nightly

/Users/alexbool/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_codegen-0.15.0/src/lib.rs:272:16: 276:6 error: non-exhaustive patterns: `NoDelim` not covered [E0004]
/Users/alexbool/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_codegen-0.15.0/src/lib.rs:272     let name = match delim {
                                                                                                                   ^
/Users/alexbool/.cargo/registry/src/github.com-1ecc6299db9ec823/quasi_codegen-0.15.0/src/lib.rs:272:16: 276:6 help: run `rustc --explain E0004` to see a detailed explanation
error: aborting due to previous error 
Build failed, waiting for other jobs to finish...
error: Could not compile `quasi_codegen`.
alexbool@alexbool-osx ~/D/I/i/rust> rustc -vV
rustc 1.12.0-nightly (9316ae515 2016-07-24)
binary: rustc
commit-hash: 9316ae515e2f8f3f497fb4f1559910c1eef2433d
commit-date: 2016-07-24
host: x86_64-apple-darwin
release: 1.12.0-nightly

quasi_codegen 0.3.7 fails to compile

On rustc 1.4.0 (8ab8581f6 2015-10-27), the following build failure happens when compiling quasi_codegen 0.3.7:

% cargo build
   Compiling quasi_codegen v0.3.7
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:724:9: 724:55 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_tokens}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:724     reg.add_macro("quote_tokens", expand_quote_tokens);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:724:9: 724:55 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:724:9: 724:55 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_tokens}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:724     reg.add_macro("quote_tokens", expand_quote_tokens);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:724:9: 724:55 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:725:9: 725:47 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_ty}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:725     reg.add_macro("quote_ty", expand_quote_ty);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:725:9: 725:47 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:725:9: 725:47 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_ty}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:725     reg.add_macro("quote_ty", expand_quote_ty);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:725:9: 725:47 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:726:9: 726:51 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_expr}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:726     reg.add_macro("quote_expr", expand_quote_expr);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:726:9: 726:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:726:9: 726:51 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_expr}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:726     reg.add_macro("quote_expr", expand_quote_expr);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:726:9: 726:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:727:9: 727:57 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_matcher}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:727     reg.add_macro("quote_matcher", expand_quote_matcher);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:727:9: 727:57 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:727:9: 727:57 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_matcher}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:727     reg.add_macro("quote_matcher", expand_quote_matcher);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:727:9: 727:57 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:728:9: 728:51 error: type mismatch: the type `fn(&mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_stmt}` implements the trait `for<'r, 'r, 'r> core::ops::Fn<(&'r mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:728     reg.add_macro("quote_stmt", expand_quote_stmt);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:728:9: 728:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:728:9: 728:51 error: type mismatch: the type `fn(&mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_stmt}` implements the trait `for<'r, 'r, 'r> core::ops::FnOnce<(&'r mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:728     reg.add_macro("quote_stmt", expand_quote_stmt);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:728:9: 728:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:729:9: 729:51 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_attr}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:729     reg.add_macro("quote_attr", expand_quote_attr);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:729:9: 729:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:729:9: 729:51 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_attr}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:729     reg.add_macro("quote_attr", expand_quote_attr);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:729:9: 729:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:730:9: 730:49 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_pat}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:730     reg.add_macro("quote_pat", expand_quote_pat);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:730:9: 730:49 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:730:9: 730:49 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_pat}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:730     reg.add_macro("quote_pat", expand_quote_pat);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:730:9: 730:49 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:731:9: 731:49 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_arm}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:731     reg.add_macro("quote_arm", expand_quote_arm);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:731:9: 731:49 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:731:9: 731:49 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_arm}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:731     reg.add_macro("quote_arm", expand_quote_arm);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:731:9: 731:49 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:732:9: 732:53 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_block}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:732     reg.add_macro("quote_block", expand_quote_block);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:732:9: 732:53 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:732:9: 732:53 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_block}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:732     reg.add_macro("quote_block", expand_quote_block);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:732:9: 732:53 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:733:9: 733:51 error: type mismatch: the type `fn(&mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_item}` implements the trait `for<'r, 'r, 'r> core::ops::Fn<(&'r mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:733     reg.add_macro("quote_item", expand_quote_item);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:733:9: 733:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:733:9: 733:51 error: type mismatch: the type `fn(&mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_item}` implements the trait `for<'r, 'r, 'r> core::ops::FnOnce<(&'r mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:733     reg.add_macro("quote_item", expand_quote_item);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:733:9: 733:51 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:734:9: 734:61 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_impl_item}` implements the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::Fn<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:734     reg.add_macro("quote_impl_item", expand_quote_impl_item);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:734:9: 734:61 help: run `rustc --explain E0281` to see a detailed explanation
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:734:9: 734:61 error: type mismatch: the type `fn(&'cx mut syntax::ext::base::ExtCtxt<'_>, syntax::codemap::Span, &[syntax::ast::TokenTree]) -> Box<syntax::ext::base::MacResult + 'cx> {expand_quote_impl_item}` implements the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntax::ext::base::ExtCtxt<'r>, syntax::codemap::Span, &'r [syntax::ast::TokenTree])>`, but the trait `for<'cx, 'r, 'r> core::ops::FnOnce<(&'cx mut syntex_syntax::ext::base::ExtCtxt<'r>, syntex_syntax::codemap::Span, &'r [syntex_syntax::ast::TokenTree])>` is required (expected struct `syntex_syntax::ext::base::ExtCtxt`, found struct `syntax::ext::base::ExtCtxt`) [E0281]
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:734     reg.add_macro("quote_impl_item", expand_quote_impl_item);
                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zr40/.multirust/toolchains/stable/cargo/registry/src/github.com-0a35038f75765ae4/quasi_codegen-0.3.7/src/lib.rs:734:9: 734:61 help: run `rustc --explain E0281` to see a detailed explanation
error: aborting due to 22 previous errors
Could not compile `quasi_codegen`.

To learn more, run the command again with --verbose.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.