Rollup merge of #54261 - varkor:dyn-keyword-2018, r=petrochenkov
Make `dyn` a keyword in the 2018 edition Proposed in https://github.com/rust-lang/rust/issues/44662#issuecomment-421596088.
This commit is contained in:
commit
822c51121e
9 changed files with 72 additions and 14 deletions
10
src/test/ui/rust-2018/dyn-keyword.fixed
Normal file
10
src/test/ui/rust-2018/dyn-keyword.fixed
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// edition:2015
|
||||
// run-rustfix
|
||||
|
||||
#![allow(unused_variables)]
|
||||
#![deny(keyword_idents)]
|
||||
|
||||
fn main() {
|
||||
let r#dyn = (); //~ ERROR dyn
|
||||
//~^ WARN hard error in the 2018 edition
|
||||
}
|
||||
10
src/test/ui/rust-2018/dyn-keyword.rs
Normal file
10
src/test/ui/rust-2018/dyn-keyword.rs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// edition:2015
|
||||
// run-rustfix
|
||||
|
||||
#![allow(unused_variables)]
|
||||
#![deny(keyword_idents)]
|
||||
|
||||
fn main() {
|
||||
let dyn = (); //~ ERROR dyn
|
||||
//~^ WARN hard error in the 2018 edition
|
||||
}
|
||||
16
src/test/ui/rust-2018/dyn-keyword.stderr
Normal file
16
src/test/ui/rust-2018/dyn-keyword.stderr
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
error: `dyn` is a keyword in the 2018 edition
|
||||
--> $DIR/dyn-keyword.rs:8:9
|
||||
|
|
||||
LL | let dyn = (); //~ ERROR dyn
|
||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||
|
|
||||
note: lint level defined here
|
||||
--> $DIR/dyn-keyword.rs:5:9
|
||||
|
|
||||
LL | #![deny(keyword_idents)]
|
||||
| ^^^^^^^^^^^^^^
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
|
||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
8
src/test/ui/rust-2018/dyn-trait-compatibility.rs
Normal file
8
src/test/ui/rust-2018/dyn-trait-compatibility.rs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// edition:2018
|
||||
|
||||
type A0 = dyn;
|
||||
type A1 = dyn::dyn; //~ERROR expected identifier, found reserved keyword
|
||||
type A2 = dyn<dyn, dyn>; //~ERROR expected identifier, found `<`
|
||||
type A3 = dyn<<dyn as dyn>::dyn>;
|
||||
|
||||
fn main() {}
|
||||
14
src/test/ui/rust-2018/dyn-trait-compatibility.stderr
Normal file
14
src/test/ui/rust-2018/dyn-trait-compatibility.stderr
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
error: expected identifier, found reserved keyword `dyn`
|
||||
--> $DIR/dyn-trait-compatibility.rs:4:16
|
||||
|
|
||||
LL | type A1 = dyn::dyn; //~ERROR expected identifier, found reserved keyword
|
||||
| ^^^ expected identifier, found reserved keyword
|
||||
|
||||
error: expected identifier, found `<`
|
||||
--> $DIR/dyn-trait-compatibility.rs:5:14
|
||||
|
|
||||
LL | type A2 = dyn<dyn, dyn>; //~ERROR expected identifier, found `<`
|
||||
| ^ expected identifier
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue