未验证 提交 5dabc3b3 编写于 作者: D Dylan DPC 提交者: GitHub

Rollup merge of #67775 - mental32:master, r=Dylan-DPC

Make "use $crate" a hard error

Closes #37390
......@@ -472,11 +472,7 @@ fn build_reduced_graph_for_use_tree(
self.r
.session
.struct_span_warn(item.span, "`$crate` may not be imported")
.note(
"`use $crate;` was erroneously allowed and \
will become a hard error in a future release",
)
.struct_span_err(item.span, "`$crate` may not be imported")
.emit();
}
}
......
......@@ -6,10 +6,9 @@ mod foo {
struct $crate {} //~ ERROR expected identifier, found reserved identifier `$crate`
}
use $crate; // OK
//~^ WARN `$crate` may not be imported
use $crate; //~ ERROR `$crate` may not be imported
use $crate as $crate; //~ ERROR expected identifier, found reserved identifier `$crate`
//~^ WARN `$crate` may not be imported
//~^ ERROR `$crate` may not be imported
}
}
......
......@@ -8,7 +8,7 @@ LL | m!();
| ----- in this macro invocation
error: expected identifier, found reserved identifier `$crate`
--> $DIR/dollar-crate-is-keyword.rs:11:23
--> $DIR/dollar-crate-is-keyword.rs:10:23
|
LL | use $crate as $crate;
| ^^^^^^ expected identifier, found reserved identifier
......@@ -16,27 +16,23 @@ LL | use $crate as $crate;
LL | m!();
| ----- in this macro invocation
warning: `$crate` may not be imported
error: `$crate` may not be imported
--> $DIR/dollar-crate-is-keyword.rs:9:9
|
LL | use $crate; // OK
LL | use $crate;
| ^^^^^^^^^^^
...
LL | m!();
| ----- in this macro invocation
|
= note: `use $crate;` was erroneously allowed and will become a hard error in a future release
warning: `$crate` may not be imported
--> $DIR/dollar-crate-is-keyword.rs:11:9
error: `$crate` may not be imported
--> $DIR/dollar-crate-is-keyword.rs:10:9
|
LL | use $crate as $crate;
| ^^^^^^^^^^^^^^^^^^^^^
...
LL | m!();
| ----- in this macro invocation
|
= note: `use $crate;` was erroneously allowed and will become a hard error in a future release
error: aborting due to 2 previous errors
error: aborting due to 4 previous errors
// check-pass
// aux-build:import_crate_var.rs
#[macro_use] extern crate import_crate_var;
fn main() {
m!();
//~^ WARN `$crate` may not be imported
//~| NOTE `use $crate;` was erroneously allowed and will become a hard error
//~^ ERROR `$crate` may not be imported
}
warning: `$crate` may not be imported
--> $DIR/import-crate-var.rs:7:5
error: `$crate` may not be imported
--> $DIR/import-crate-var.rs:6:5
|
LL | m!();
| ^^^^^
|
= note: `use $crate;` was erroneously allowed and will become a hard error in a future release
= note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
error: aborting due to previous error
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册