rust/src/librustc/middle
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
..
cfg for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
infer Auto merge of #21505 - GuillaumeGomez:interned_string, r=alexcrichton 2015-02-07 02:04:47 +00:00
traits Auto merge of #21505 - GuillaumeGomez:interned_string, r=alexcrichton 2015-02-07 02:04:47 +00:00
astconv_util.rs More deprecating of i/u suffixes in libraries 2015-02-01 10:34:16 +00:00
astencode.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
check_const.rs remove all kind annotations from closures 2015-02-04 20:06:08 -05:00
check_loop.rs Remove the explicit closure kind syntax from the parser and AST; 2015-02-03 11:56:16 -05:00
check_match.rs Update to last version, remove "[]" as much as possible 2015-02-06 12:03:46 +01:00
check_rvalues.rs core: split into fmt::Show and fmt::String 2015-01-06 14:49:42 -08:00
check_static_recursion.rs Add error codes to rustc 2015-01-20 11:27:51 -08:00
check_static.rs Fix typedef/module name conflicts in the compiler 2015-01-18 18:26:34 -08:00
const_eval.rs librustc has been updated 2015-02-06 11:59:10 +01:00
dataflow.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
dead.rs librustc has been updated 2015-02-06 11:59:10 +01:00
def.rs s/Show/Debug/g 2015-01-29 07:49:02 -05:00
dependency_format.rs for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
effect.rs syntax: add fully qualified UFCS expressions. 2015-01-15 18:51:14 +02:00
entry.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
expr_use_visitor.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
fast_reject.rs Remove "unboxed" attribute in code referring to new closures. 2015-01-26 04:15:09 +02:00
graph.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
intrinsicck.rs Register new snapshots 2015-01-06 15:24:24 -08:00
lang_items.rs librustc has been updated 2015-02-06 11:59:10 +01:00
liveness.rs librustc has been updated 2015-02-06 11:59:10 +01:00
mem_categorization.rs Restrictions on moves out-from and into fixed-length arrays. 2015-02-07 13:44:00 +01:00
pat_util.rs Fix typedef/module name conflicts in the compiler 2015-01-18 18:26:34 -08:00
privacy.rs s/Show/Debug/g 2015-01-29 07:49:02 -05:00
reachable.rs for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
recursion_limit.rs for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
region.rs remove all kind annotations from closures 2015-02-04 20:06:08 -05:00
resolve_lifetime.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
stability.rs Auto merge of #21505 - GuillaumeGomez:interned_string, r=alexcrichton 2015-02-07 02:04:47 +00:00
subst.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
ty_fold.rs Add Clone to the list of bounds for a TypeFolder. (Kill?) 2015-01-28 05:15:24 -05:00
ty_walk.rs cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
ty.rs Auto merge of #21505 - GuillaumeGomez:interned_string, r=alexcrichton 2015-02-07 02:04:47 +00:00
weak_lang_items.rs Update to last version, remove "[]" as much as possible 2015-02-06 12:03:46 +01:00