Skip to content

Commit 316f5e5

Browse files
committed
Auto merge of #27846 - AlisdairO:diagnostics248, r=Manishearth
As title :-) Part of #24407. r? @Manishearth
2 parents e859498 + 26cca1c commit 316f5e5

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/librustc_typeck/diagnostics.rs

+19-1
Original file line numberDiff line numberDiff line change
@@ -2365,6 +2365,25 @@ struct Bar<S, T> { x: Foo<S, T> }
23652365
```
23662366
"##,
23672367

2368+
E0248: r##"
2369+
This error indicates an attempt to use a value where a type is expected. For
2370+
example:
2371+
2372+
```
2373+
enum Foo {
2374+
Bar(u32)
2375+
}
2376+
2377+
fn do_something(x: Foo::Bar) { }
2378+
```
2379+
2380+
In this example, we're attempting to take a type of `Foo::Bar` in the
2381+
do_something function. This is not legal: `Foo::Bar` is a value of type `Foo`,
2382+
not a distinct static type. Likewise, it's not legal to attempt to
2383+
`impl Foo::Bar`: instead, you must `impl Foo` and then pattern match to specify
2384+
behaviour for specific enum variants.
2385+
"##,
2386+
23682387
E0249: r##"
23692388
This error indicates a constant expression for the array length was found, but
23702389
it was not an integer (signed or unsigned) expression.
@@ -2756,7 +2775,6 @@ register_diagnostics! {
27562775
E0245, // not a trait
27572776
E0246, // invalid recursive type
27582777
E0247, // found module name used as a type
2759-
E0248, // found value name used as a type
27602778
E0319, // trait impls for defaulted traits allowed just for structs/enums
27612779
E0320, // recursive overflow during dropck
27622780
E0321, // extended coherence rules for defaulted traits violated

0 commit comments

Comments
 (0)