| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-12-16 | reorder args to the various vec, option fns so blk comes last | Niko Matsakis | -2/+2 | |
| 2011-12-16 | Make uses of self in impls compile | Marijn Haverbeke | -13/+12 | |
| Get rid of expr_self_call, introduces def_self. `self` is now, syntactically, simply a variable. A method implicitly brings a `self` binding into scope. Issue #1227 | ||||
| 2011-12-16 | Parse and resolve implementations. | Marijn Haverbeke | -1/+1 | |
| Issue #1227 | ||||
| 2011-12-13 | Copy first batch of material from libstd to libcore. | Graydon Hoare | -2/+3 | |
| 2011-12-08 | Allow binding of nested patterns | Marijn Haverbeke | -1/+2 | |
| See src/test/run-pass/nested-patterns.rs for some examples. The syntax is boundvar@subpattern Which will match the subpattern as usual, but also bind boundvar to the whole matched value. Closes #838 | ||||
| 2011-12-07 | Remove stmt_crate_directive, it's vestigial and confusing. | Graydon Hoare | -3/+0 | |
| 2011-12-07 | Change literal representation to not truncate | Marijn Haverbeke | -3/+2 | |
| Also shuffles around the organization of numeric literals and types, separating by int/uint/float instead of machine-vs-non-machine types. This simplifies some code. Closes #974 Closes #1252 | ||||
| 2011-11-30 | Box ast::path values | Marijn Haverbeke | -4/+3 | |
| It seems inefficient to copy them around. Let's measure whether that's actually > the case | ||||
| 2011-11-23 | Rollback return-by-reference | Marijn Haverbeke | -110/+3 | |
| It's proving too inflexible, so I'm ripping out the extra complexity in the hope that regions will, at some point, provide something similar. Closes #918 | ||||
| 2011-11-21 | rustc: Remove abi from ast::native_mod | Haitao Li | -1/+1 | |
| 2011-11-21 | Close hole in safe-reference analysis | Marijn Haverbeke | -3/+15 | |
| 2011-11-21 | Fix bad interaction between last-use finding and references | Marijn Haverbeke | -2/+9 | |
| The last-use pass now takes input from the alias pass to not mark things as last uses that are still accessed through a reference. Issue #925 | ||||
| 2011-11-18 | Add a pass-by-copy parameter passing convention | Marijn Haverbeke | -1/+4 | |
| This is intended to solve the problem of how to pass arguments to constructor functions -- you want to move in rvalues, but not have to explicitly copy stuff that is not an rvalue. The by-copy passing convention will ensure the callee gets its own copy of the value. For rvalues, it'll just pass off the value. For lvalues, it'll make a copy. Issue #1177 | ||||
| 2011-11-17 | remove compile-command from local variable blocks | Niko Matsakis | -1/+0 | |
| 2011-11-15 | Fix handling of loops and conditionals in alias.rs | Marijn Haverbeke | -62/+149 | |
| It now threads information about invalidated aliases through the AST properly. This makes it more permissive for conditionals (invalidating an alias in one branch doesn't prevent you from using it in another), and less permissive for loops (it now properly notices when a loop invalidates an alias that it might still use in another iteration). Closes #1144 | ||||
| 2011-11-10 | Cleanup unused imports | Haitao Li | -2/+2 | |
| 2011-11-03 | Disallow writing to function arguments again | Marijn Haverbeke | -1/+1 | |
| Remove implicit copying hack. Closes #1118 | ||||
| 2011-10-25 | Properly take mutable object fields into account during alias analysis | Marijn Haverbeke | -16/+23 | |
| Closes #1055 | ||||
| 2011-10-21 | Change the way block calls are parsed, mark them as block-calls. | Marijn Haverbeke | -2/+2 | |
| This makes it possible to omit the semicolon after the block, and will cause the pretty-printer to properly print such calls (if pretty-printing of blocks wasn't so broken). Block calls (with the block outside of the parentheses) can now only occur at statement level, and their value can not be used. When calling a block-style function that returns a useful value, the block must be put insde the parentheses. Issue #1054 | ||||
| 2011-10-21 | Drop support for iter, put, and for-each | Marijn Haverbeke | -32/+0 | |
| Closes #1056 | ||||
| 2011-10-20 | Merge ast::proto_shared and ast::proto_closure | Brian Anderson | -1/+1 | |
| Now they are both just proto_shared and proto_shared takes an argument indicating that it is sugared as 'lambda' | ||||
| 2011-10-12 | expand purity to include unsafe | Niko Matsakis | -18/+22 | |
| 2011-10-07 | Forbid passing dynamically-sized types by value | Marijn Haverbeke | -2/+11 | |
| Issue #1008 | ||||
| 2011-10-07 | Parse and typecheck by-value and by-ref arg specs | Marijn Haverbeke | -3/+1 | |
| Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008 | ||||
| 2011-09-28 | Revert "Revert "Implement pattern ranges for all numeric types."" | Brian Anderson | -1/+1 | |
| This reverts commit a034f87146e60e1db2327c6f6807c47406a1bb0b. Conflicts: src/comp/middle/check_alt.rs src/comp/middle/trans_alt.rs src/comp/syntax/ast.rs src/comp/syntax/ast_util.rs src/comp/syntax/fold.rs src/comp/syntax/print/pprust.rs Conflicts: src/comp/middle/trans_alt.rs | ||||
| 2011-09-28 | Remove a few kludges that worked around issue #913 | Marijn Haverbeke | -3/+1 | |
| 2011-09-23 | Begin to support pattern matching on unique boxes | Brian Anderson | -0/+7 | |
| Issue #409 | ||||
| 2011-09-22 | Convert ty::ty_uniq to contain a mutable type | Brian Anderson | -3/+2 | |
| Issue #409 | ||||
| 2011-09-21 | Revert "Implement pattern ranges for all numeric types." | Marijn Haverbeke | -1/+1 | |
| This reverts commit ce0f054f9d56df4e60291fc2e1b89ce979cf374f. | ||||
| 2011-09-21 | Implement pattern ranges for all numeric types. | Josh Matthews | -1/+1 | |
| 2011-09-16 | Remove autoderef for calls | Marijn Haverbeke | -2/+2 | |
| We were only using it in a single place, and there for no discernable reason (probably as part of the bare-fn-vals-are-not-copyable plan). It seems more surprising than useful. | ||||
| 2011-09-16 | Clean up (and optimize) root-mutability analysis in alias.rs | Marijn Haverbeke | -65/+64 | |
| 2011-09-16 | Change convention for specifying referenced argument | Marijn Haverbeke | -4/+10 | |
| It is now 1-based, rather than 0 based. (Seems more natural, and allows 0 to be used to refer to self and maybe to closure.) Also allows non-referenced args to be implicitly copied again. Issue #918 | ||||
| 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 | -25/+32 | |
| 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 | -3/+25 | |
| 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 | -2/+2 | |
| 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 | -31/+25 | |
| This further simplifies the alias pass, which is sorely needed. | ||||
| 2011-09-15 | Add representation for by-ref let bindings | Marijn Haverbeke | -1/+2 | |
| Issue #918 | ||||
| 2011-09-14 | Add syntax and representation for return-by-mutably-rooted-ref | Marijn Haverbeke | -6/+11 | |
| This will be used in the near future to decide what can safely be done with the returned reference. Issue #918 | ||||
| 2011-09-14 | Accept returning refs rooted in an arg from a by-ref funtion | Marijn Haverbeke | -6/+41 | |
| Issue #918 | ||||
| 2011-09-14 | Disallow implicit arg copying when the function returns a ref | Marijn Haverbeke | -1/+2 | |
| Issue #918 | ||||
| 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-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 | |
