Updated diagnostics.
This commit is contained in:
parent
856e84f9a3
commit
79009ed728
@ -770,17 +770,17 @@ match x {
|
|||||||
"##,
|
"##,
|
||||||
|
|
||||||
E0411: r##"
|
E0411: r##"
|
||||||
The `Self` keyword was used outside an impl or a trait.
|
The `Self` keyword was used outside an impl, trait, or type definition.
|
||||||
|
|
||||||
Erroneous code example:
|
Erroneous code example:
|
||||||
|
|
||||||
```compile_fail,E0411
|
```compile_fail,E0411
|
||||||
<Self>::foo; // error: use of `Self` outside of an impl or trait
|
<Self>::foo; // error: use of `Self` outside of an impl, trait, or type definition
|
||||||
```
|
```
|
||||||
|
|
||||||
The `Self` keyword represents the current type, which explains why it can only
|
The `Self` keyword represents the current type, which explains why it can only
|
||||||
be used inside an impl or a trait. It gives access to the associated items of a
|
be used inside an impl, trait, or type definition. It gives access to the
|
||||||
type:
|
associated items of a type:
|
||||||
|
|
||||||
```
|
```
|
||||||
trait Foo {
|
trait Foo {
|
||||||
|
@ -2977,7 +2977,7 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> {
|
|||||||
if is_self_type(path, ns) {
|
if is_self_type(path, ns) {
|
||||||
__diagnostic_used!(E0411);
|
__diagnostic_used!(E0411);
|
||||||
err.code(DiagnosticId::Error("E0411".into()));
|
err.code(DiagnosticId::Error("E0411".into()));
|
||||||
err.span_label(span, "`Self` is only available in traits and impls");
|
err.span_label(span, "`Self` is only available in traits, impls, and type definitions");
|
||||||
return (err, Vec::new());
|
return (err, Vec::new());
|
||||||
}
|
}
|
||||||
if is_self_value(path, ns) {
|
if is_self_value(path, ns) {
|
||||||
|
Loading…
Reference in New Issue
Block a user