Harden non-const items to not accept underscore names.
This commit is contained in:
parent
56d71c2910
commit
48e863ed69
4 changed files with 122 additions and 11 deletions
30
src/test/ui/parser/underscore_item_not_const.rs
Normal file
30
src/test/ui/parser/underscore_item_not_const.rs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Test that various non-const items and associated consts do not permit `_` as a name.
|
||||
|
||||
// Associated `const`s:
|
||||
|
||||
pub trait A {
|
||||
const _: () = (); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
}
|
||||
impl A for () {
|
||||
const _: () = (); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
}
|
||||
impl dyn A {
|
||||
const _: () = (); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
}
|
||||
|
||||
// Other kinds of items:
|
||||
|
||||
static _: () = (); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
struct _(); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
enum _ {} //~ ERROR expected identifier, found reserved identifier `_`
|
||||
fn _() {} //~ ERROR expected identifier, found reserved identifier `_`
|
||||
mod _ {} //~ ERROR expected identifier, found reserved identifier `_`
|
||||
type _ = (); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
use _; //~ ERROR expected identifier, found reserved identifier `_`
|
||||
use _ as g; //~ ERROR expected identifier, found reserved identifier `_`
|
||||
trait _ {} //~ ERROR expected identifier, found reserved identifier `_`
|
||||
trait _ = Copy; //~ ERROR expected identifier, found reserved identifier `_`
|
||||
macro_rules! _ { () => {} } //~ ERROR expected identifier, found reserved identifier `_`
|
||||
union _ { f: u8 } //~ ERROR expected one of `!` or `::`, found `_`
|
||||
|
||||
fn main() {}
|
||||
92
src/test/ui/parser/underscore_item_not_const.stderr
Normal file
92
src/test/ui/parser/underscore_item_not_const.stderr
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:6:11
|
||||
|
|
||||
LL | const _: () = ();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:9:11
|
||||
|
|
||||
LL | const _: () = ();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:12:11
|
||||
|
|
||||
LL | const _: () = ();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:17:8
|
||||
|
|
||||
LL | static _: () = ();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:18:8
|
||||
|
|
||||
LL | struct _();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:19:6
|
||||
|
|
||||
LL | enum _ {}
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:20:4
|
||||
|
|
||||
LL | fn _() {}
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:21:5
|
||||
|
|
||||
LL | mod _ {}
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:22:6
|
||||
|
|
||||
LL | type _ = ();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:23:5
|
||||
|
|
||||
LL | use _;
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:24:5
|
||||
|
|
||||
LL | use _ as g;
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:25:7
|
||||
|
|
||||
LL | trait _ {}
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:26:7
|
||||
|
|
||||
LL | trait _ = Copy;
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_item_not_const.rs:27:14
|
||||
|
|
||||
LL | macro_rules! _ { () => {} }
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: expected one of `!` or `::`, found `_`
|
||||
--> $DIR/underscore_item_not_const.rs:28:7
|
||||
|
|
||||
LL | union _ { f: u8 }
|
||||
| ^ expected one of `!` or `::` here
|
||||
|
||||
error: aborting due to 15 previous errors
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
static _: () = (); //~ ERROR expected identifier, found reserved identifier `_`
|
||||
|
||||
fn main() {}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
error: expected identifier, found reserved identifier `_`
|
||||
--> $DIR/underscore_static.rs:1:8
|
||||
|
|
||||
LL | static _: () = ();
|
||||
| ^ expected identifier, found reserved identifier
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue