Skip to content

Commit 1ac7633

Browse files
Add E0324 error explanation
1 parent 6715ec8 commit 1ac7633

File tree

1 file changed

+41
-2
lines changed

1 file changed

+41
-2
lines changed

src/librustc_typeck/diagnostics.rs

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2423,7 +2423,7 @@ E0323: r##"
24232423
An associated const was implemented when another trait item was expected.
24242424
Erroneous code example:
24252425
2426-
```Rust
2426+
```
24272427
trait Foo {
24282428
type N;
24292429
}
@@ -2440,7 +2440,7 @@ impl Foo for Bar {
24402440
To fix this error, please check you didn't misspell the associated const
24412441
name or you did implement the good trait item. Example:
24422442
2443-
```Rust
2443+
```
24442444
struct Bar;
24452445
24462446
trait Foo {
@@ -2462,6 +2462,45 @@ impl Foo for Bar {
24622462
```
24632463
"##,
24642464

2465+
E0324: r##"
2466+
A method was implemented when another trait item was expected. Erroneous
2467+
code example:
2468+
2469+
```
2470+
struct Bar;
2471+
2472+
trait Foo {
2473+
const N : u32;
2474+
2475+
fn M();
2476+
}
2477+
2478+
impl Foo for Bar {
2479+
fn N() {}
2480+
// error: item `N` is an associated method, which doesn't match its
2481+
// trait `<Bar as Foo>`
2482+
}
2483+
```
2484+
2485+
To fix this error, please check you didn't misspell the method name. Example:
2486+
2487+
```
2488+
struct Bar;
2489+
2490+
trait Foo {
2491+
const N : u32;
2492+
2493+
fn M();
2494+
}
2495+
2496+
impl Foo for Bar {
2497+
const N : u32 = 0;
2498+
2499+
fn M() {} // ok!
2500+
}
2501+
```
2502+
"##,
2503+
24652504
E0326: r##"
24662505
The types of any associated constants in a trait implementation must match the
24672506
types in the trait definition. This error indicates that there was a mismatch.

0 commit comments

Comments
 (0)