| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-09-15 | Added more predicates in trans | Tim Chevalier | -2/+16 | |
| Added the non_ty_var predicate (soon to be used) Added a check in get_res_dtor (will be necessary for a future change to type_of_fn) Removed a gratuitous ret | ||||
| 2011-09-15 | Change a few span_fatals to span_err | Tim Chevalier | -5/+5 | |
| 2011-09-15 | Update README slightly. | Graydon Hoare | -2/+3 | |
| 2011-09-15 | Prevent binary expressions from parsing when lhs is non-value block | Marijn Haverbeke | -0/+1 | |
| 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 | -38/+74 | |
| 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 | -21/+25 | |
| 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 | -19/+31 | |
| Issue #918 | ||||
| 2011-09-15 | Ensure parens are wrapped around composite exprs in call/index/field pos | Marijn Haverbeke | -5/+10 | |
| This is needed to fix the second example in issue #919 | ||||
| 2011-09-15 | More thorough check for (.. 10).x in pretty-printer | Marijn Haverbeke | -5/+21 | |
| Closes #919 | ||||
| 2011-09-15 | Also handle fail and put in print_maybe_parens_discrim | Marijn Haverbeke | -2/+5 | |
| Closes #920 | ||||
| 2011-09-15 | Remove maybe_protect_block kludge from pretty-printer | Marijn Haverbeke | -86/+0 | |
| It is no longer needed. | ||||
| 2011-09-15 | Introduce new semicolon rules | Marijn Haverbeke | -71/+44 | |
| - Loop bodies and resource constructors aren't allowed to have trailing expressions anymore. - An expression that ends* in a block without trailing expression can can not be called, indexed, or subscripted. - Only expression-statements that end* in a block without trailing expression can omit their semicolon. *) 'Ending in a trailing expression' is defined as being a block or construct-ending-in-a-block (if, alt) that either ends in an expression itself, or ends in another block-like expression that has a trailing expression (by these same rules). | ||||
| 2011-09-15 | Insert omitted semicolons for statements | Marijn Haverbeke | -17/+14 | |
| 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 | -34/+55 | |
| 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 | -31/+34 | |
| tyencode/tydecode still don't know about it. return_ref will be extended to take arguments anyway. | ||||
| 2011-09-14 | Refactor parse_ret_ty, start parsing by-alias return specs | Marijn Haverbeke | -51/+24 | |
| 2011-09-14 | Rename ast::controlflow to ast::ret_style | Marijn Haverbeke | -61/+58 | |
| It will include information about returning by alias. | ||||
| 2011-09-14 | Add support for negative literals. | Josh Matthews | -6/+25 | |
| 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 | Print something when we can't figure out a tag name. Mitigates #876. | Michael Sullivan | -4/+1 | |
| 2011-09-13 | Add missing cases for machine floats in shape.rs | Marijn Haverbeke | -3/+2 | |
| 2011-09-13 | Improve lexing of float literals | Marijn Haverbeke | -39/+36 | |
| Closes #575 | ||||
| 2011-09-13 | Properly pretty-print 10.x | Marijn Haverbeke | -1/+9 | |
| Closes #890 | ||||
| 2011-09-13 | Make pretty-printer wrap fail/ret/put in parens in call/index/field pos | Marijn Haverbeke | -10/+14 | |
| Closes #764 Closes #891 | ||||
| 2011-09-13 | Ensure that the declared type and actual type of a constant agree | Marijn Haverbeke | -0/+3 | |
| Closes #899 | ||||
| 2011-09-13 | Be more strict about what constitutes a block expression | Marijn Haverbeke | -6/+35 | |
| Blocks (or statements involving blocks) that end in a semicolon are no longer considered the block-expression of their outer block. This used to be an expression block, but now is a statement block: { if foo { ret 1; } else { ret 10; } } This helps clear up some ambiguities in our grammar. | ||||
| 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 | |
