diff options
| author | Alisdair Owens <awo101@zepler.net> | 2015-08-14 21:33:40 +0100 |
|---|---|---|
| committer | Alisdair Owens <awo101@zepler.net> | 2015-08-15 10:02:54 +0100 |
| commit | 26cca1c258a8946bfcd6d900077642d5f2be708c (patch) | |
| tree | f65143ac070bfd3c79c0bbed1d418256e75b38b0 | |
| parent | e859498d1ca45f2719542f505eb0ba8b944e5668 (diff) | |
| download | rust-26cca1c258a8946bfcd6d900077642d5f2be708c.tar.gz rust-26cca1c258a8946bfcd6d900077642d5f2be708c.zip | |
Add extended diagnostics for E0248
| -rw-r--r-- | src/librustc_typeck/diagnostics.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/librustc_typeck/diagnostics.rs b/src/librustc_typeck/diagnostics.rs index c24c9e9a255..62804426df6 100644 --- a/src/librustc_typeck/diagnostics.rs +++ b/src/librustc_typeck/diagnostics.rs @@ -2365,6 +2365,25 @@ struct Bar<S, T> { x: Foo<S, T> } ``` "##, +E0248: r##" +This error indicates an attempt to use a value where a type is expected. For +example: + +``` +enum Foo { + Bar(u32) +} + +fn do_something(x: Foo::Bar) { } +``` + +In this example, we're attempting to take a type of `Foo::Bar` in the +do_something function. This is not legal: `Foo::Bar` is a value of type `Foo`, +not a distinct static type. Likewise, it's not legal to attempt to +`impl Foo::Bar`: instead, you must `impl Foo` and then pattern match to specify +behaviour for specific enum variants. +"##, + E0249: r##" This error indicates a constant expression for the array length was found, but it was not an integer (signed or unsigned) expression. @@ -2756,7 +2775,6 @@ register_diagnostics! { E0245, // not a trait E0246, // invalid recursive type E0247, // found module name used as a type - E0248, // found value name used as a type E0319, // trait impls for defaulted traits allowed just for structs/enums E0320, // recursive overflow during dropck E0321, // extended coherence rules for defaulted traits violated |
