Brian Anderson
c2751c5640
rustc: Make 'do' work with effects the same as 'for'
2012-06-25 17:46:06 -07:00
Tim Chevalier
487cbf8e90
Remove resources
...
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.
Closes #2485
2012-06-24 15:09:57 -07:00
Niko Matsakis
60603703ea
handle moves in let initializers and allow moves from unsafe ptrs
...
Related to issue #2657 , but this is not a complete fix.
2012-06-21 08:34:54 -07:00
Niko Matsakis
982e1166b2
Issue #2633 : remove last_use entries that are subject to a loan
2012-06-17 16:17:40 -07:00
Tim Chevalier
093faaabe1
Handle index expressions' callee IDs correctly
...
Some code that handles unary and binary exprs' callee IDs was
forgetting to handle the index expr case (since calls to
user-defined index operators also have callee IDs). This was
manifesting as an ICE in trans because when monomorphizing a
function that had one of these operators in it (an index into a
dvec, in the test case), the callee ID would be unbound to a type.
Fixed it. Closes #2631 .
2012-06-15 15:21:17 -07:00
Niko Matsakis
08520a1697
move borrowck to dvec, insert a few minor copies
2012-06-06 18:37:35 -07:00
Niko Matsakis
77c470d183
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
2012-06-02 10:08:04 -07:00
Niko Matsakis
cfac9b6833
improve borrowck to handle some frankly rather tricky cases
...
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
2012-06-02 10:08:04 -07:00
Niko Matsakis
6c6ad229a3
break up borrowck into modules and begin to document how it works
2012-06-01 10:50:19 -07:00