| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-09-15 | Generalize expression roots in alias analysis | Marijn Haverbeke | -35/+40 | |
| This allows calls-returning-a-reference to count as expression roots, making it possible to return the result of such a call by reference. Issue #918 | ||||
| 2011-09-15 | Require the parameter that will be referenced to be noted | Marijn Haverbeke | -26/+36 | |
| Issue #918 | ||||
| 2011-09-15 | Overhaul alias-checking of blocks | Marijn Haverbeke | -34/+27 | |
| The set of active bindings has to be updated as by-reference locals are encountered. Issue #918 | ||||
| 2011-09-15 | Make storing returned references in a by-reference local work | Marijn Haverbeke | -39/+47 | |
| fn f(a: {x: str}) -> &str { ret a.x; } fn main() { let x = {x: "hi"}; let &y = f(x); // Look ma, no copy! log_err y; } Issue #918. | ||||
| 2011-09-15 | Forbid assignment to by-reference bindings | Marijn Haverbeke | -19/+23 | |
| Issue #918 | ||||
| 2011-09-15 | Make trans understand by-ref bindings | Marijn Haverbeke | -8/+19 | |
| Issue #918 | ||||
| 2011-09-15 | Implement basic checking of by-reference bindings | Marijn Haverbeke | -3/+57 | |
| Issue #918 | ||||
| 2011-09-15 | Move local numbering into ast_map.rs | Marijn Haverbeke | -48/+67 | |
| This further simplifies the alias pass, which is sorely needed. | ||||
| 2011-09-15 | Add representation for by-ref let bindings | Marijn Haverbeke | -11/+14 | |
| Issue #918 | ||||
| 2011-09-15 | Insert omitted semicolons for statements | Marijn Haverbeke | -13/+11 | |
| 2011-09-14 | Revert "Try a little harder to avoid creating new landing pads" | Brian Anderson | -11/+10 | |
| This reverts commit b8e31ac46917edcf5922f0b191c5e6c4505830d2. Conflicts: src/comp/middle/trans.rs | ||||
| 2011-09-14 | Add syntax and representation for return-by-mutably-rooted-ref | Marijn Haverbeke | -15/+21 | |
| This will be used in the near future to decide what can safely be done with the returned reference. Issue #918 | ||||
| 2011-09-14 | Prevent memory errors when returning references to temp args. | Marijn Haverbeke | -14/+18 | |
| Issue #918 | ||||
| 2011-09-14 | Accept returning refs rooted in an arg from a by-ref funtion | Marijn Haverbeke | -21/+49 | |
| Issue #918 | ||||
| 2011-09-14 | Make ast_map.rs index function args, switch it over to simple_visitor | Marijn Haverbeke | -12/+16 | |
| 2011-09-14 | Remove some extra white-space introduced by the pretty-printer | Marijn Haverbeke | -17/+1 | |
| 2011-09-14 | Disallow implicit arg copying when the function returns a ref | Marijn Haverbeke | -1/+2 | |
| Issue #918 | ||||
| 2011-09-14 | Add support for basic return-by-alias to trans | Marijn Haverbeke | -58/+75 | |
| Issue #918 | ||||
| 2011-09-14 | Clean up trans_obj.rs a bit | Marijn Haverbeke | -30/+21 | |
| As a preparation to adding an arg to type_of_fn_full | ||||
| 2011-09-14 | Add a ret_style field to fn_ctxt in trans | Marijn Haverbeke | -9/+19 | |
| 2011-09-14 | Simplify trans::new_fn_ctxt_w_id | Marijn Haverbeke | -20/+8 | |
| It was still living in the pre-decent-type-inference era. | ||||
| 2011-09-14 | Rudimentary checking of safe alias returns | Marijn Haverbeke | -27/+52 | |
| 2011-09-14 | Rename restrict to binding in alias.rs | Marijn Haverbeke | -75/+66 | |
| Its role gradually changed to the point where the old name doesn't really make sense anymore. | ||||
| 2011-09-14 | Stop needlessly boxing vectors in alias.rs | Marijn Haverbeke | -22/+20 | |
| 2011-09-14 | Make most of the compiler aware of return-by-reference | Marijn Haverbeke | -24/+18 | |
| tyencode/tydecode still don't know about it. return_ref will be extended to take arguments anyway. | ||||
| 2011-09-14 | Rename ast::controlflow to ast::ret_style | Marijn Haverbeke | -31/+27 | |
| It will include information about returning by alias. | ||||
| 2011-09-13 | Try harder still to generate fewer landing pads | Brian Anderson | -1/+19 | |
| Scopes that don't have cleanups don't need their own landing pads This takes the optimized rustc bin from 4.7MB to 4.4 | ||||
| 2011-09-13 | Try a little harder to avoid creating new landing pads | Brian Anderson | -10/+11 | |
| It's only when we add or revoke cleanups involving immediates that we need a new landing pad for the scope. Trims 5K off the optimized rustc bin | ||||
| 2011-09-13 | Reuse landing pads when possible | Brian Anderson | -7/+32 | |
| Cuts the optimized rustc bin from 5.2 to 4.7MB | ||||
| 2011-09-13 | Add missing cases for machine floats in shape.rs | Marijn Haverbeke | -3/+2 | |
| 2011-09-13 | Ensure that the declared type and actual type of a constant agree | Marijn Haverbeke | -0/+3 | |
| Closes #899 | ||||
| 2011-09-13 | Always warn when implicitly copying a generic type | Marijn Haverbeke | -12/+10 | |
| 2011-09-13 | Properly alias-check bindings in for-each loops | Marijn Haverbeke | -40/+32 | |
| 2011-09-13 | Clean up copy bookkeeping in alias.rs | Marijn Haverbeke | -36/+34 | |
| 2011-09-13 | Make for loop alias-safe | Marijn Haverbeke | -52/+36 | |
| 2011-09-13 | Apply implicit copying for unsafe references to alt patterns | Marijn Haverbeke | -54/+125 | |
| 2011-09-12 | Kill trailing whitespace. | Graydon Hoare | -1/+1 | |
| 2011-09-12 | Factor imports mindlessly. | Graydon Hoare | -408/+143 | |
| 2011-09-12 | Merge branch 'unwind' | Brian Anderson | -26/+130 | |
| Conflicts: src/comp/middle/trans.rs src/comp/middle/trans_build.rs src/lib/run_program.rs src/test/compiletest/runtest.rs | ||||
| 2011-09-12 | Undo some pretty-printer damage in ty.rs | Marijn Haverbeke | -134/+26 | |
| 2011-09-12 | Rename alias to reference in docs and error messages | Marijn Haverbeke | -8/+9 | |
| Update docs to reflect new approach to aliases | ||||
| 2011-09-12 | Warn when inserting an implicit copy that may be expensive | Marijn Haverbeke | -16/+53 | |
| 2011-09-12 | Properly implement copy expressions | Marijn Haverbeke | -19/+30 | |
| (And use them in some places that were doing {expr} before.) | ||||
| 2011-09-12 | Pretty-print for new arg-mode syntax | Marijn Haverbeke | -109/+155 | |
| 2011-09-12 | Reformat for new mode syntax, step 1 | Marijn Haverbeke | -1679/+1675 | |
| Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit. | ||||
| 2011-09-12 | Make the names of the arg mode tag reflect their (revised) meaning | Marijn Haverbeke | -57/+30 | |
| 2011-09-12 | Pass all arguments by reference, make immut alias mode equiv to value | Marijn Haverbeke | -155/+185 | |
| Arguments that can't be safely referenced will be implicitly copied. (Warnings for expensive copies will be forthcoming.) This will allow us to get rid of most of the ampersands in function signatures. See [1]. [1] https://mail.mozilla.org/pipermail/rust-dev/2011-September/000759.html | ||||
| 2011-09-11 | Zero locals when the initializer might call a function | Brian Anderson | -0/+1 | |
| The function might fail, leaving the local uninitialized Issue #236 | ||||
| 2011-09-11 | Invoke put functions | Brian Anderson | -1/+1 | |
| Issue #236 | ||||
| 2011-09-11 | Add some FIXMEs about unwinding implementation | Brian Anderson | -0/+5 | |
| Issue #236 | ||||
