File tree Expand file tree Collapse file tree 2 files changed +37
-3
lines changed Expand file tree Collapse file tree 2 files changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -1018,7 +1018,7 @@ const foo: i32 = 42;
10181018const baz: *const i32 = (&foo as *const i32);
10191019
10201020const deref: i32 = *baz;
1021- // error: raw pointers cannot be dereferenced in constants!
1021+ // error: raw pointers cannot be dereferenced in constants
10221022```
10231023
10241024To fix this error, please do not assign this value to a constant expression.
Original file line number Diff line number Diff line change @@ -1457,6 +1457,42 @@ impl Foo for Bar {
14571457```
14581458"## ,
14591459
1460+ E0327 : r##"
1461+ You cannot use associated items other than constant items as patterns. This
1462+ includes method items. Example of erroneous code:
1463+
1464+ ```
1465+ enum B {}
1466+
1467+ impl B {
1468+ fn bb() -> i32 { 0 }
1469+ }
1470+
1471+ fn main() {
1472+ match 0 {
1473+ B::bb => {} // error: associated items in match patterns must
1474+ // be constants
1475+ }
1476+ }
1477+ ```
1478+
1479+ Please check that you're not using a method as a pattern. Example:
1480+
1481+ ```
1482+ enum B {
1483+ ba,
1484+ bb
1485+ }
1486+
1487+ fn main() {
1488+ match B::ba {
1489+ B::bb => {} // ok!
1490+ _ => {}
1491+ }
1492+ }
1493+ ```
1494+ "## ,
1495+
14601496E0368 : r##"
14611497This error indicates that a binary assignment operator like `+=` or `^=` was
14621498applied to the wrong types. For example:
@@ -1540,7 +1576,6 @@ For more information see the [opt-in builtin traits RFC](https://github.com/rust
15401576
15411577}
15421578
1543-
15441579register_diagnostics ! {
15451580 E0068 ,
15461581 E0074 ,
@@ -1640,7 +1675,6 @@ register_diagnostics! {
16401675 E0323 , // implemented an associated const when another trait item expected
16411676 E0324 , // implemented a method when another trait item expected
16421677 E0325 , // implemented an associated type when another trait item expected
1643- E0327 , // referred to method instead of constant in match pattern
16441678 E0328 , // cannot implement Unsize explicitly
16451679 E0329 , // associated const depends on type parameter or Self.
16461680 E0366 , // dropck forbid specialization to concrete type or region
You can’t perform that action at this time.
0 commit comments