rust/src/libsyntax/ext
Niko Matsakis 0682ad0eb9 Finalize moves-based-on-type implementation.
Changes:

- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
  (though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
  (see details below)

Future work (I'll open bugs for these...):

- Improve error messages for moves that are due
  to bindings
- Add support for moving owned content like a.b.c
  to borrow check, test in trans (but I think it'll
  "just work")
- Proper fix for def-ids in params

Def ids in params:

Move captures into a map instead of recomputing.

This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining.  I am
not sure of my preferred fix for the larger bug yet.  This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
..
pipes Finalize moves-based-on-type implementation. 2013-01-31 12:09:00 -08:00
tt libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
auto_encode.rs Finalize moves-based-on-type implementation. 2013-01-31 12:09:00 -08:00
base.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
build.rs Finalize moves-based-on-type implementation. 2013-01-31 12:09:00 -08:00
concat_idents.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
deriving.rs
env.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
expand.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
fmt.rs De-capitalize "note" to get rid of spurious tidy warnings 2013-01-29 19:26:55 -08:00
log_syntax.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
quote.rs libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson 2013-01-29 10:42:45 -08:00
source_util.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
trace_macros.rs libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00