Rollup merge of #76059 - GuillaumeGomez:cleanup-e0764, r=Dylan-DPC,pickfire
Clean up E0764 r? @Dylan-DPC
This commit is contained in:
commit
5033203121
@ -1,12 +1,4 @@
|
||||
Mutable references (`&mut`) can only be used in constant functions, not statics
|
||||
or constants. This limitation exists to prevent the creation of constants that
|
||||
have a mutable reference in their final value. If you had a constant of `&mut
|
||||
i32` type, you could modify the value through that reference, making the
|
||||
constant essentially mutable. While there could be a more fine-grained scheme
|
||||
in the future that allows mutable references if they are not "leaked" to the
|
||||
final value, a more conservative approach was chosen for now. `const fn` do not
|
||||
have this problem, as the borrow checker will prevent the `const fn` from
|
||||
returning new mutable references.
|
||||
A mutable reference was used in a constant.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
@ -19,6 +11,18 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
Mutable references (`&mut`) can only be used in constant functions, not statics
|
||||
or constants. This limitation exists to prevent the creation of constants that
|
||||
have a mutable reference in their final value. If you had a constant of
|
||||
`&mut i32` type, you could modify the value through that reference, making the
|
||||
constant essentially mutable.
|
||||
|
||||
While there could be a more fine-grained scheme in the future that allows
|
||||
mutable references if they are not "leaked" to the final value, a more
|
||||
conservative approach was chosen for now. `const fn` do not have this problem,
|
||||
as the borrow checker will prevent the `const fn` from returning new mutable
|
||||
references.
|
||||
|
||||
Remember: you cannot use a function call inside a constant or static. However,
|
||||
you can totally use it in constant functions:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user