| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-06-02 | rustc: Typecheck patterns from the top down; remove pushdown_pat | Patrick Walton | -156/+72 | |
| 2011-06-02 | Handle _|_ values properly in trans | Tim Chevalier | -4/+9 | |
| Generate an LLVMUndef value of the proper type for an argument of type _|_. Otherwise we get an LLVM assertion failure. | ||||
| 2011-06-02 | Fix unification bug | Tim Chevalier | -1/+2 | |
| Hello from SFO Terminal 3! unify_fn_common had the expected and actual types reversed in one place. This was causing the type of an occurence of a function f with type fn(int) -> T to be set to fn(_|_) -> T at a call site like f(fail); I think this was also making some of the type error messages come out backwards, but I haven't checked. Also: ty_bot does not contain pointers | ||||
| 2011-06-02 | Merge pull request #450 from paulstansifer/quick_error_message_fix_2 | Patrick Walton | -0/+14 | |
| Flatten functions and objects in trans::simplify_type. | ||||
| 2011-06-02 | Flatten functions and objects in trans::simplify_type. | Paul Stansifer | -0/+14 | |
| 2011-06-02 | Refactor make_fp_cmp_glue and make_integral_cmp_glue into one. | Lindsey Kuper | -73/+95 | |
| 2011-06-02 | Implement pcwalton's code review suggestions. | Paul Stansifer | -12/+7 | |
| 2011-06-02 | Error message, instead of segfault, when recursive types are used. | Paul Stansifer | -3/+23 | |
| 2011-06-01 | Improve type error message for non-constructor in pattern | Tim Chevalier | -2/+2 | |
| 2011-06-01 | Redo typestate-related data structures to support predicate constraints. No ↵ | Tim Chevalier | -147/+410 | |
| actual support yet, just infrastructure. | ||||
| 2011-06-01 | Use span_err instead of err. Fixes issue #444. | Lindsey Kuper | -3/+2 | |
| 2011-06-01 | rustc: Remove rustboot workaround from walk::default_visitor() | Patrick Walton | -48/+30 | |
| 2011-06-01 | rustc: Allow walking over patterns | Patrick Walton | -0/+8 | |
| 2011-06-01 | Comments. | Lindsey Kuper | -0/+8 | |
| 2011-06-01 | Don't create an empty section. | Rafael Ávila de Espíndola | -3/+3 | |
| 2011-06-01 | Visibility is an ELF concept and protected visibility is not very well ↵ | Rafael Ávila de Espíndola | -3/+6 | |
| implemented, avoid using it for now. Instead, mark pairs that are not needed elsewhere as internal. | ||||
| 2011-06-01 | Comments and cleanup. | Lindsey Kuper | -22/+49 | |
| 2011-05-31 | Now imports are not re-exported unless 'export' is explicitly used. | Paul Stansifer | -213/+32 | |
| 2011-05-31 | Support move as an initializer. | Michael Sullivan | -0/+8 | |
| 2011-05-31 | Implement move semantics. | Michael Sullivan | -4/+42 | |
| 2011-05-31 | Insert plumbing for move that behaves just like assign. | Michael Sullivan | -0/+68 | |
| 2011-05-31 | Teach the compiler to understand yield and join, as well as using task as a ↵ | Eric Holk | -1/+3 | |
| type name. | ||||
| 2011-05-31 | rustc: Teach rustc to use block results as fn return values. Closes #372 | Brian Anderson | -3/+54 | |
| 2011-05-31 | Move rust_vec_append_glue to rt. | Rafael Ávila de Espíndola | -142/+0 | |
| 2011-05-31 | Consolidate formatting functions a bit more. | Graydon Hoare | -11/+13 | |
| 2011-05-31 | Add span to field to catch per-field comments in rec exprs. | Graydon Hoare | -11/+12 | |
| 2011-05-31 | Start finishing up the rust_start signature transition. | Rafael Ávila de Espíndola | -1/+1 | |
| 2011-05-31 | Have blocks return their result by writing to a reserved space | Marijn Haverbeke | -71/+103 | |
| This makes it possible to pass the location of that space through to nested blocks, resulting in less copying, taking, and dropping. This makes the compiler slightly faster and 19k smaller. A FIXME is to use 'move' semantics when returning the values from the block -- don't bump the refcount and drop it again for the returning block, but simply assign ownership to the receiver. To do this, we'll need a way to (safely) scrub things from a block's cleanup list. | ||||
| 2011-05-31 | rustc: Remove unneeded type params from alt patterns | Brian Anderson | -236/+236 | |
| 2011-05-31 | rustc: Pushdown type params for tag patterns. Closes #363 | Brian Anderson | -4/+14 | |
| 2011-05-27 | In pre/postcondition computation, failing calls should set the postcondition | Tim Chevalier | -3/+12 | |
| A non-returning call should have a postcondition in which all predicates are true -- not just a poststate. Otherwise, alt expressions where one or more branches terminate in a non-returning call and others initialize a variable get rejected. Includes a test case. | ||||
| 2011-05-27 | change comment | Tim Chevalier | -3/+3 | |
| 2011-05-27 | Fix two typestate bugs | Tim Chevalier | -8/+11 | |
| * Non-returning calls should set all predicates to be true, not just the "this function returns" predicate * Fixed a bug in the expr_alt case in tstate.states that wasn't updating the changed flag properly, then fixed *another* bug that was updating it too enthusiastically, but was masked by the first bug. | ||||
| 2011-05-27 | Lots of comments, and some more descriptive names. | Lindsey Kuper | -55/+202 | |
| 2011-05-27 | Check the declaration type in a for loop against the sequence type | Tim Chevalier | -15/+39 | |
| Changed the typechecker to correctly typecheck the declared variable type in a for or for-each loop against the vector element type (for a for loop) or the iterator type (for a for-each loop). Added a test case. | ||||
| 2011-05-27 | add a function that returns the type of a local decl | Tim Chevalier | -0/+11 | |
| 2011-05-27 | Generating names for wrappers, removed extra logging | Eric Holk | -35/+5 | |
| 2011-05-27 | Switched calling conventions so that spawn with multiple arguments works. | Eric Holk | -6/+5 | |
| 2011-05-27 | Switching over to wrappers for spawning functions of multiple arguments. ↵ | Eric Holk | -42/+114 | |
| Doesn't quite work yet. | ||||
| 2011-05-27 | Removing excessively verbous logging. | Eric Holk | -37/+0 | |
| 2011-05-27 | Programs using spawn terminate | Eric Holk | -0/+17 | |
| 2011-05-27 | Working on 2 argument spawn. The arguments seem to be copied correctly once, ↵ | Eric Holk | -3/+1 | |
| but then they get lost. | ||||
| 2011-05-27 | Arguments seem to be correctly passed to child processes now. | Eric Holk | -10/+13 | |
| 2011-05-27 | New tasks run, but their arguments get lost and something ends up in an ↵ | Eric Holk | -2/+6 | |
| infinite loop when the task exits. | ||||
| 2011-05-27 | Use annotations on blocks | Tim Chevalier | -10/+9 | |
| Previously, block_ty returned the type of the terminating expression of the block (or nil if said expression was absent). I changed check_expr to write the type of that expression into the annotation for the block itself, so now block_ty can use the block's annotation. | ||||
| 2011-05-26 | Make _|_ unify with anything | Tim Chevalier | -12/+9 | |
| The typechecker had a number of special cases for unifying types with _|_ (as with checking if and alt). But, a value of type _|_ should be usable in any context, as such a value always diverges, and will never be used by its immediate context. Changed unify accordingly, removed special cases. | ||||
| 2011-05-27 | Handle circularity in glob imports in a more elegant fashion. | Paul Stansifer | -75/+87 | |
| 2011-05-27 | Add a map from def_id s to items in resolve::env. | Paul Stansifer | -1/+24 | |
| Use it to provide better error messages in the event of glob-importing the same name multiple times. | ||||
| 2011-05-27 | Fix bugs: make sure glob imports show up in the right module, | Paul Stansifer | -65/+92 | |
| and make sure that circular glob imports don't diverge. | ||||
| 2011-05-27 | "import module::*;" now works. | Paul Stansifer | -54/+69 | |
