rust/src/librustc_borrowck
Felix S. Klock II cc8f35f874 Restrictions on moves out-from and into fixed-length arrays.
No longer legal: `fn foo(a: [D; 5]) { drop(a); a[2] = D::new(); }`;
one must first initialize the entirety of `a` before assigning to its
individual elements.

No longer legal: `fn foo(arr: [D; 5]) -> D { arr[2] }`, unless `D`
implements `Copy`. This "move out-from" restriction only affects
`expr[i]`, and not destructuring (e.g. `f([a, b, c]: Array) { ... }`).

uses mem_categorization to distinguish destructuring-bind from array
indexing.

See discussion on RFC PR 533.

[breaking-change]
2015-02-07 13:44:00 +01:00
..
borrowck Restrictions on moves out-from and into fixed-length arrays. 2015-02-07 13:44:00 +01:00
graphviz.rs remove all kind annotations from closures 2015-02-04 20:06:08 -05:00
lib.rs Test fixes and rebase conflicts 2015-01-30 14:53:34 -08:00