Updated diagnostics.

This commit is contained in:
Alexander Regueiro 2018-08-14 18:29:53 +01:00
parent 856e84f9a3
commit 79009ed728
2 changed files with 5 additions and 5 deletions

View File

@ -770,17 +770,17 @@ match x {
"##,
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:
```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
be used inside an impl or a trait. It gives access to the associated items of a
type:
be used inside an impl, trait, or type definition. It gives access to the
associated items of a type:
```
trait Foo {

View File

@ -2977,7 +2977,7 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> {
if is_self_type(path, ns) {
__diagnostic_used!(E0411);
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());
}
if is_self_value(path, ns) {