Skip to content

Commit 0c232e7

Browse files
---
yaml --- r: 214363 b: refs/heads/auto c: 7b4eb1a h: refs/heads/master i: 214361: aad88f6 214359: 92fdcf5 v: v3
1 parent 5b2c69e commit 0c232e7

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
88
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
99
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1010
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
11-
refs/heads/auto: b7e41d9aeaade8a42ee9e71de34fdf2d982c664f
11+
refs/heads/auto: 7b4eb1aa90e49f6d068052b6e2baa5f59336ee13
1212
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1313
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
1414
refs/tags/0.2: 1754d02027f2924bed83b0160ee340c7f41d5ea1

branches/auto/src/librustc/diagnostics.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ const foo: i32 = 42;
10181018
const baz: *const i32 = (&foo as *const i32);
10191019
10201020
const deref: i32 = *baz;
1021-
// error: raw pointers cannot be dereferenced in constants!
1021+
// error: raw pointers cannot be dereferenced in constants
10221022
```
10231023
10241024
To fix this error, please do not assign this value to a constant expression.

branches/auto/src/librustc_typeck/diagnostics.rs

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff 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+
14601496
E0368: r##"
14611497
This error indicates that a binary assignment operator like `+=` or `^=` was
14621498
applied 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-
15441579
register_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

0 commit comments

Comments
 (0)