File tree Expand file tree Collapse file tree 2 files changed +20
-3
lines changed
branches/auto/src/librustc Expand file tree Collapse file tree 2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
8
8
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
9
9
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
10
10
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
11
- refs/heads/auto: 5d31deeae43e8f3803604f837649bbaeb625e726
11
+ refs/heads/auto: 37a84bc82169bfdd0c67c519e710ba4488b82d55
12
12
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
13
13
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
14
14
refs/tags/0.2: 1754d02027f2924bed83b0160ee340c7f41d5ea1
Original file line number Diff line number Diff line change @@ -375,7 +375,7 @@ fn main() {
375
375
```
376
376
377
377
Remember: you can't use a function call inside a const's initialization
378
- expression! However, you can totally use it elsewhere you want :
378
+ expression! However, you can totally use it anywhere else :
379
379
380
380
```
381
381
fn main() {
@@ -392,6 +392,24 @@ This error indicates that an attempt was made to divide by zero (or take the
392
392
remainder of a zero divisor) in a static or constant expression.
393
393
"## ,
394
394
395
+ E0022 : r##"
396
+ Constant functions are not allowed to mutate anything. Thus, binding to an
397
+ argument with a mutable pattern is not allowed. For example,
398
+
399
+ ```
400
+ const fn foo(mut x: u8) {
401
+ // do stuff
402
+ }
403
+ ```
404
+
405
+ is bad because the function body may not mutate `x`.
406
+
407
+ Remove any mutable bindings from the argument list to fix this error. In case
408
+ you need to mutate the argument, try lazily initializing a global variable
409
+ instead of using a const fn, or refactoring the code to a functional style to
410
+ avoid mutation if possible.
411
+ "## ,
412
+
395
413
E0030 : r##"
396
414
When matching against a range, the compiler verifies that the range is
397
415
non-empty. Range patterns include both end-points, so this is equivalent to
@@ -1277,7 +1295,6 @@ contain references (with a maximum lifetime of `'a`).
1277
1295
1278
1296
register_diagnostics ! {
1279
1297
// E0006 // merged with E0005
1280
- E0022 ,
1281
1298
E0038 ,
1282
1299
// E0134,
1283
1300
// E0135,
You can’t perform that action at this time.
0 commit comments