| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-08-03 | Revert "Handle conditionals on _|_ - typed values correctly" | Brian Anderson | -12/+0 | |
| This reverts commit 13f8b3f2a67a4e3a7a26b0e238e1b6ce9e1f3573. run-pass/if-ret.rs does not translate correctly when unoptimized. Issue #797 | ||||
| 2011-08-03 | Make ast::pat_bindings an iterator | Marijn Haverbeke | -59/+27 | |
| And use it to get rid of some repetetive code | ||||
| 2011-08-02 | Handle _|_ - typed discriminants in alts correctly | Tim Chevalier | -1/+12 | |
| Stop me, won't you, if you've heard this one before? Closes #794 | ||||
| 2011-08-02 | Handle conditionals on _|_ - typed values correctly | Tim Chevalier | -0/+12 | |
| Closes #776 | ||||
| 2011-08-02 | Make _|_ type binopable | Tim Chevalier | -18/+20 | |
| But don't actually generate code that does the operation. That means hoisting the check I added in my last commit from trans_compare up into trans_eager_binop (don't generate any code if one operand has type _|_ ). Closes #777 | ||||
| 2011-08-02 | In trans, don't assume both sides of a binop have the same type | Tim Chevalier | -18/+39 | |
| This was at least partially responsible for Issue 777. The only solution I can think of is for trans to just not generate code for a comparison if one or both sides has type _|_. Since that means evaluating that subexpression diverges, it should be ok to never do the comparison. Actually generating code for the comparison would trip an LLVM assertion failure. | ||||
| 2011-08-02 | Refactor: a backwarding vtable can only have one kind of method. | Lindsey Kuper | -18/+7 | |
| 2011-08-02 | Comment tweaks and re-flows. | Lindsey Kuper | -30/+24 | |
| 2011-08-02 | Consolidate environment building/loading between closure types. | Michael Sullivan | -153/+102 | |
| 2011-08-02 | Track the node_id of the function in trans_common::fn_ctxt. | Michael Sullivan | -31/+25 | |
| 2011-08-02 | Use GEPi a bunch. | Michael Sullivan | -28/+14 | |
| 2011-08-02 | Use or-patterns in trans::trans_compare, eliminating a FIXME | Tim Chevalier | -14/+7 | |
| 2011-08-02 | Assign collection element ty to loop local tvar when checking loops | Marijn Haverbeke | -2/+5 | |
| This makes the type declarationg for the loop variable optional in most cases. Closes #790 | ||||
| 2011-08-02 | Do not try to save block result when the block is an iter body | Marijn Haverbeke | -1/+2 | |
| Closes #791 | ||||
| 2011-08-02 | Be a little more clever about picking columns to match on in trans_alt | Marijn Haverbeke | -4/+34 | |
| This should result in slightly more efficient matching of 'complex' patterns with multiple discriminants in them. | ||||
| 2011-08-02 | Copy locals created by destructuring on the content of a box | Marijn Haverbeke | -8/+19 | |
| This is required so that assigning to these locals doesn't clobber the content of the box. (A possible optimization would be to only do this copying for locals that actually are assigned to.) | ||||
| 2011-08-02 | Improve handling of bottom type in alt arms | Marijn Haverbeke | -0/+1 | |
| 2011-08-01 | Handle bang functions correctly in typestate | Tim Chevalier | -59/+113 | |
| The logic for how the "returns" constraint was handled was always dodgy, for reasons explained in the comments I added to auxiliary::fn_info in this commit. Fixed it by adding distinct "returns" and "diverges" constraints for each function, which are both handled positively (that is: for a ! function, the "diverges" constraint must be true on every exit path; for any other function, the "returns" constraint must be true on every exit path). Closes #779 | ||||
| 2011-08-01 | Fix incorrect uses of str::buf() | Paul Stansifer | -11/+18 | |
| 2011-08-01 | Fix closures over dynamically-sized polymorphic values. | Michael Sullivan | -17/+44 | |
| 2011-08-01 | Fix closures over known-size polymorphic values. | Michael Sullivan | -15/+15 | |
| 2011-08-01 | Add a GEPi function that wraps GEP with integer arguments. | Michael Sullivan | -12/+22 | |
| 2011-08-01 | Add check for irrefutable patterns in destructuring locals | Marijn Haverbeke | -4/+35 | |
| 2011-08-01 | Partially implement destructuring locals | Marijn Haverbeke | -220/+264 | |
| You can now say let {bcx, val} = some_result_returner(); Similar for loop variables. Assigning to such variables is not safe yet. Function arguments also remain a TODO. | ||||
| 2011-07-31 | Remove unused imports | Tim Chevalier | -2/+0 | |
| 2011-07-31 | Change bitvectors::relax_precond_block to use visit instead of walk | Tim Chevalier | -24/+28 | |
| 2011-07-29 | Fix bug in typechecker counting occurrences of typarams in instantiation ↵ | Graydon Hoare | -6/+6 | |
| rather than checking formals list. | ||||
| 2011-07-29 | Enable kind checking on typarams, fix kind constraints in library and comp. | Graydon Hoare | -12/+35 | |
| 2011-07-29 | Switch the heap build and load environment functions to use GEP_tup_like. | Michael Sullivan | -25/+29 | |
| 2011-07-29 | Initial trans of lambdas. Doesn't work with polymorphism yet. | Michael Sullivan | -8/+61 | |
| 2011-07-29 | Refactor typestate code involving stmt_decls | Tim Chevalier | -94/+129 | |
| To handle multiple-LHS declarations with initializers properly, I changed seq_states to take a list of expressions paired with optional names, not just a list of expressions. Then, the same logic that handles ordered lists of subexpressions everywhere else can handle multi- declarations. | ||||
| 2011-07-29 | Encode, decode, and thread through typechecking all the param kinds, not ↵ | Graydon Hoare | -51/+66 | |
| just the counts. | ||||
| 2011-07-29 | Do some cleanup in load_environment. | Michael Sullivan | -30/+23 | |
| 2011-07-29 | Add in some missing cases for typestate with closures. | Michael Sullivan | -2/+5 | |
| 2011-07-29 | Don't confuse backwards and forwards. | Lindsey Kuper | -3/+7 | |
| Oops. If we already have a backwarding vtable, that means that we are currently building a forwarding fn. (Progress toward issue #702.) | ||||
| 2011-07-29 | Comments and cleanup, in preparation for more work on issue #702. | Lindsey Kuper | -19/+56 | |
| 2011-07-29 | Get rid of an obsolete comment now that obj dtors are gone. | Lindsey Kuper | -3/+0 | |
| 2011-07-29 | Disallow overloading a method with one of different type. Closes #703. | Lindsey Kuper | -7/+12 | |
| 2011-07-29 | Turn on kind propagation for typarams. Annotate a bunch of typarams in rustc ↵ | Graydon Hoare | -4/+1 | |
| and libstd. | ||||
| 2011-07-29 | Remove unreachable statements | Marijn Haverbeke | -8/+11 | |
| 2011-07-29 | Track failures in typeck, assign proper type to failing blocks | Marijn Haverbeke | -90/+126 | |
| (and warn for unreachable statements) Closes #727 | ||||
| 2011-07-29 | Typechecking bugfix for anon objs. Removes duplicate methods in outer | Lindsey Kuper | -0/+20 | |
| object types. | ||||
| 2011-07-29 | Formatting tweaks. | Lindsey Kuper | -8/+5 | |
| 2011-07-29 | Clean up old FIXME regarding or-patterns | Marijn Haverbeke | -10/+2 | |
| 2011-07-29 | Remove support for obj dtors | Marijn Haverbeke | -80/+11 | |
| 2011-07-29 | Replace obj dtors with resources in stdlib and rustc | Marijn Haverbeke | -7/+1 | |
| 2011-07-29 | Make sure resources always have their drop glue called | Marijn Haverbeke | -1/+9 | |
| Even when their content does not contain pointers | ||||
| 2011-07-29 | Missed another instance of walk in typeck | Marijn Haverbeke | -5/+4 | |
| 2011-07-29 | Fix iter_structural_ty_full for resource types | Marijn Haverbeke | -21/+16 | |
| The compiler would blow up when compiling a structural type containing a resource. | ||||
| 2011-07-28 | Change the way freevars stores its information again. | Michael Sullivan | -46/+37 | |
