Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

compilation error on 1.7.0-nightly #200

Closed
yoshuawuyts opened this issue Jan 4, 2016 · 4 comments
Closed

compilation error on 1.7.0-nightly #200

yoshuawuyts opened this issue Jan 4, 2016 · 4 comments

Comments

@yoshuawuyts
Copy link

I'm having trouble installing this package; for some reason it's failing. I'm fairly new to rust, and haven't seen this particular error yet. I was wondering if you could perhaps help me figure out what's going wrong here. Thanks!

versions

  • rustc 1.7.0-nightly (4744472fe 2016-01-02)
  • cargo 0.8.0-nightly (08da2f5 2015-12-21)
  • OS X Yosemite
[dependencies]
serde = "0.6.7"
serde_json = "*"
serde_macros = "*"

code

#![feature(custom_derive, plugin)]
#![plugin(serde_macros)]

extern crate serde;
extern crate serde_json;

#[derive(Serialize, Deserialize, Debug)]
struct Point {
    x: i32,
    y: i32,
}

fn main() {
    let point = Point { x: 1, y: 2 };
    let serialized = serde_json::to_string(&point).unwrap();

    println!("{}", serialized);

    let deserialized: Point = serde_json::from_str(&serialized).unwrap();

    println!("{:?}", deserialized);
}

error

<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 (
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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>)
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/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 (
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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>)
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/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`
/Users/yw/.multirust/toolchains/nightly/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]
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
                                                                                                                                            ^~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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>> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:347 }
/Users/yw/.multirust/toolchains/nightly/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
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
                                                                                                                                     ^~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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>> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:347 }
/Users/yw/.multirust/toolchains/nightly/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<'_>`)
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:346         panictry!(parser.parse_item())
                                                                                                                                            ^~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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]
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
                                                                                                                                            ^~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:351 }
/Users/yw/.multirust/toolchains/nightly/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
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
                                                                                                                                     ^~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:351 }
/Users/yw/.multirust/toolchains/nightly/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<'_>`)
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:350         panictry!(parser.parse_pat())
                                                                                                                                            ^~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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]
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                                                            ^~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                                                     ^~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                                                     ^~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:353 pub fn parse_arm_panic(parser: &mut Parser) -> ast::Arm {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:355 }
/Users/yw/.multirust/toolchains/nightly/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<'_>`)
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:354         panictry!(parser.parse_arm())
                                                                                                                                            ^~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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]
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
                                                                                                                                            ^~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:359 }
/Users/yw/.multirust/toolchains/nightly/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
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
                                                                                                                                     ^~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:359 }
/Users/yw/.multirust/toolchains/nightly/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<'_>`)
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:358         panictry!(parser.parse_ty())
                                                                                                                                            ^~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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]
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                                                        ^~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                                                 ^~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                                                 ^~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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>> {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:363 }
/Users/yw/.multirust/toolchains/nightly/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<'_>`)
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:362     panictry!(parser.parse_stmt())
                                                                                                                                        ^~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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]
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
/Users/yw/.multirust/toolchains/nightly/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...
/Users/yw/.multirust/toolchains/nightly/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 {
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:367 }
/Users/yw/.multirust/toolchains/nightly/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<'_>`)
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs:366         panictry!(parser.parse_attribute(permit_inner))
                                                                                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yw/.multirust/toolchains/nightly/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 /Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/quasi-0.3.11/src/lib.rs)
error: aborting due to 8 previous errors
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/aster-0.9.2/src/path.rs:267:26: 267:71 error: no associated item named `AngleBracketedParameters` found for type `syntax::ast::PathParameters` in the current scope
/Users/yw/.multirust/toolchains/nightly/cargo/registry/src/github.com-88ac128001ac3a9a/aster-0.9.2/src/path.rs:267         let parameters = ast::PathParameters::AngleBracketedParameters(data);
                                                                                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `quasi`.

To learn more, run the command again with --verbose.
@erickt
Copy link
Member

erickt commented Jan 6, 2016

I've updated syntex, aster, and quasi, but I'm unfortunately still blocked on rust-lang/rust#30713 being fixed, which is breaking the rand crate on nightly.

@yoshuawuyts
Copy link
Author

@erickt thanks for responding; glad to know it's not something on my end. I'll keep an eye on that issue. Thanks!

@erickt
Copy link
Member

erickt commented Jan 16, 2016

Should be working now!

@erickt erickt closed this as completed Jan 16, 2016
@yoshuawuyts
Copy link
Author

excellent

rubdos pushed a commit to rubdos/serde that referenced this issue Jun 20, 2017
A new Fibonacci benchmark demonstrates the improvement by using both
addition and subtraction in each iteration of the loop, like serde-rs#200.

Before:

    test fib2_100          ... bench:       4,558 ns/iter (+/- 3,357)
    test fib2_1000         ... bench:      62,575 ns/iter (+/- 5,200)
    test fib2_10000        ... bench:   2,898,425 ns/iter (+/- 207,973)

After:

    test fib2_100          ... bench:       1,973 ns/iter (+/- 102)
    test fib2_1000         ... bench:      41,203 ns/iter (+/- 947)
    test fib2_10000        ... bench:   2,544,272 ns/iter (+/- 45,183)
rubdos pushed a commit to rubdos/serde that referenced this issue Jun 20, 2017
bigint: allow `Sub` to work in-place on the RHS

A new Fibonacci benchmark demonstrates the improvement by using both
addition and subtraction in each iteration of the loop, like serde-rs#200.

Before:

    test fib2_100          ... bench:       4,558 ns/iter (+/- 3,357)
    test fib2_1000         ... bench:      62,575 ns/iter (+/- 5,200)
    test fib2_10000        ... bench:   2,898,425 ns/iter (+/- 207,973)

After:

    test fib2_100          ... bench:       1,973 ns/iter (+/- 102)
    test fib2_1000         ... bench:      41,203 ns/iter (+/- 947)
    test fib2_10000        ... bench:   2,544,272 ns/iter (+/- 45,183)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants