Auto merge of #32506 - petrochenkov:use, r=Manishearth

syntax: Extra diagnostics for `_` used in an identifier position

Closes https://github.com/rust-lang/rust/issues/32501
This commit is contained in:
bors 2016-03-31 14:08:44 -07:00
commit e1195c24bb
7 changed files with 34 additions and 19 deletions

View file

@ -12,7 +12,7 @@
// compile-flags: --cfg ""
// error-pattern: expected ident, found
// error-pattern: expected identifier, found
pub fn main() {
}

View file

@ -40,7 +40,7 @@ type Type_5_<'a> = Type_1_<'a, ()>;
//type Type_7 = Box<(),,>; // error: expected type, found `,`
type Type_8<'a,,> = &'a (); //~ error: expected ident, found `,`
type Type_8<'a,,> = &'a (); //~ error: expected identifier, found `,`
//type Type_9<T,,> = Box<T>; // error: expected ident, found `,`
//type Type_9<T,,> = Box<T>; // error: expected identifier, found `,`

View file

@ -40,7 +40,7 @@ type Type_5_<'a> = Type_1_<'a, ()>;
//type Type_7 = Box<(),,>; // error: expected type, found `,`
//type Type_8<'a,,> = &'a (); // error: expected ident, found `,`
//type Type_8<'a,,> = &'a (); // error: expected identifier, found `,`
type Type_9<T,,> = Box<T>; //~ error: expected ident, found `,`
type Type_9<T,,> = Box<T>; //~ error: expected identifier, found `,`

View file

@ -0,0 +1,21 @@
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// compile-flags: -Z parse-only
fn main() {
let a = 0;
let _b = 0;
let _ = 0;
let mut b = 0;
let mut _b = 0;
let mut _ = 0; //~ ERROR expected identifier, found `_`
//~^ NOTE `_` is a wildcard pattern, not an identifier
}

View file

@ -13,5 +13,5 @@
// http://phpsadness.com/sad/1
fn main() {
::; //~ ERROR expected ident, found `;`
::; //~ ERROR expected identifier, found `;`
}

View file

@ -24,7 +24,7 @@ fn bar() {
let b = Box::Bar::<isize,usize>::new(); // OK
let b = Box::Bar::()::new();
//~^ ERROR expected ident, found `(`
//~^ ERROR expected identifier, found `(`
}
fn main() { }