| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Handle nested items correctly in typestate_check | Tim Chevalier | 2011-04-19 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary says it all. Actually, only nested objects and functions are handled, but that's better than before. The fold that I was using before to traverse a crate wasn't working correctly, because annotations have to reflect the number of local variables of the nearest enclosing function (in turn, because annotations are represented as bit vectors). The fold was traversing the AST in the wrong order, first filling in the annotations correctly, but then re-traversing them with the bit vector length for any outer nested functions, and so on. Remedying this required writing a lot of tedious boilerplate code because I scrapped the idea of using a fold altogether. I also made typestate_check handle unary, field, alt, and fail. Also, some miscellaneous changes: * added annotations to blocks in typeck * fix pprust so it can handle spawn * added more logging functions in util.common * fixed _vec.or * added maybe and from_maybe in option * removed fold_block field from ast_fold, since it was never used | ||||
| * | Remove effect system from src. | Graydon Hoare | 2011-04-19 | 1 | -1/+1 |
| | | |||||
| * | stdlib: Add some vector functions: empty, empty_mut, grow_set, and freeze. ↵ | Patrick Walton | 2011-04-15 | 1 | -4/+31 |
| | | | | | Change _vec.grow to use uint arguments. | ||||
| * | Make expr_while work in typestate_check | Tim Chevalier | 2011-04-13 | 1 | -0/+11 |
| | | | | | | | Also did some refactoring in typestate_check. All test cases in compile-fail that involve uninitialized vars now fail correctly! (All eight of them, that is.) | ||||
| * | Continued sketching out code for checking states against preconditions. | Tim Chevalier | 2011-04-06 | 1 | -0/+21 |
| | | | | | | | | | | It's still sketchy. I added a typestate annotation field to statements tagged stmt_decl or stmt_expr, because a stmt_decl statement has a typestate that's different from that of its child node. This necessitated trivial changes to a bunch of other files all over to the compiler. I also added a few small standard library functions, some of which I didn't actually end up using but which I thought might be useful anyway. | ||||
| * | Started adding support for typestate checking. | Tim Chevalier | 2011-04-01 | 1 | -0/+23 |
| | | | | | | | | | | | | | | | | I added a new field to the ast "ann" type for typestate information. Currently, the field contains a record of a precondition bit vector and postcondition vector, but I tried to structure things so as to make it easy to change the representation of the typestate annotation type. I also had to add annotations to some syntactic forms that didn't have them before (fail, ret, be...), with all the boilerplate changes that that would imply. The main call to the typestate_check entry point is commented out and the actual pre-postcondition algorithm only has a few cases implemented, though the overall AST traversal is there. The rest of the typestate algorithm isn't implemented yet. | ||||
| * | rustc: Open "use"d crates; add a _vec.vec_from_buf() method along the way; ↵ | Patrick Walton | 2011-03-24 | 1 | -1/+7 |
| | | | | | XFAIL use-import-export.rs in rustc | ||||
| * | Add a "last" function to return the last element of a vector to the standard ↵ | Patrick Walton | 2011-03-21 | 1 | -0/+12 |
| | | | | | library | ||||
| * | Add "mutable?" to _vec in the standard library; fix callers | Patrick Walton | 2011-03-18 | 1 | -14/+15 |
| | | |||||
| * | Add some mutable variants of vector functions to the standard library | Patrick Walton | 2011-03-18 | 1 | -0/+25 |
| | | |||||
| * | Switch all vases of vec += elt to vec += vec. Prohibit former in rustboot. ↵ | Graydon Hoare | 2011-03-16 | 1 | -16/+20 |
| | | | | | Tweak std lib vec fns in process. | ||||
| * | Remove redundant imports in lib (rustc doesn't like 'std' as a synonym for ↵ | Graydon Hoare | 2011-03-09 | 1 | -1/+0 |
| | | | | | root within std.rc anyway) | ||||
| * | Implement a map2() function in std._vec | Patrick Walton | 2010-11-09 | 1 | -0/+18 |
| | | |||||
| * | Support a special const-value refcount, use it for const strings. | Graydon Hoare | 2010-11-09 | 1 | -2/+7 |
| | | |||||
| * | Move the option type to its own module | Patrick Walton | 2010-11-05 | 1 | -2/+2 |
| | | |||||
| * | Change vec slice to use uint, add push/pop/shift/unshift. | Graydon Hoare | 2010-10-22 | 1 | -6/+29 |
| | | |||||
| * | Reformat standard library; no code changes. | Graydon Hoare | 2010-09-22 | 1 | -66/+75 |
| | | |||||
| * | Test multi-ref'ed vec growth more seriously than before. | Roy Frostig | 2010-09-03 | 1 | -0/+5 |
| | | |||||
| * | Make _io.buf_reader read more than 0 bytes at a time. | Roy Frostig | 2010-08-19 | 1 | -4/+20 |
| | | |||||
| * | Address FIXME in _vec waiting on closed issue #108. | Roy Frostig | 2010-08-12 | 1 | -5/+4 |
| | | |||||
| * | Add vec debugging utility to _vec module. | Roy Frostig | 2010-08-12 | 1 | -0/+5 |
| | | |||||
| * | Fix reverse-indexing bug in _vec.init_fn. | Roy Frostig | 2010-08-11 | 1 | -3/+3 |
| | | |||||
| * | Add a buffered writer to stdlib _io module. | Roy Frostig | 2010-08-04 | 1 | -2/+7 |
| | | |||||
| * | Address _vec.map allocation FIXME. Add test. | Roy Frostig | 2010-08-03 | 1 | -6/+2 |
| | | |||||
| * | Address _vec.grow FIXME, as issue #89 has been closed. | Roy Frostig | 2010-08-03 | 1 | -4/+1 |
| | | |||||
| * | Pass parametric types by-alias in various stdlib spots. | Roy Frostig | 2010-08-03 | 1 | -2/+2 |
| | | |||||
| * | Switch machine-type lexemes to use suffixes. Remove support for foo(bar) as ↵ | Graydon Hoare | 2010-07-27 | 1 | -5/+5 |
| | | | | | a cast notation. Closes #129. | ||||
| * | Notify copy glue of dst-initialization and fix _vec.alloc issues in lib and ↵ | Roy Frostig | 2010-07-22 | 1 | -2/+5 |
| | | | | | runtime. Closes #109. | ||||
| * | Source FIXME annotations for issue #81 and a correction to STMT_bind fmt. | Roy Frostig | 2010-07-22 | 1 | -5/+7 |
| | | |||||
| * | Implement the "simple typechecker", which avoids HM inference | Patrick Walton | 2010-07-15 | 1 | -1/+1 |
| | | |||||
| * | Add a _vec.slice function that'll hold us over until .(a,b) syntax is | Jeffrey Yasskin | 2010-07-16 | 1 | -0/+15 |
| | | | | | | implemented. This could actually replace .(a,b) syntax if the language grows optional function parameters. | ||||
| * | Add differently-typed refcount synonyms to _str and _vec. | Graydon Hoare | 2010-07-13 | 1 | -0/+1 |
| | | |||||
| * | Uint-ify various bits of _str and _vec, enrich _vec a bit. | Graydon Hoare | 2010-07-05 | 1 | -6/+36 |
| | | |||||
| * | The few and proud isolated bits from stdlib-work so far that don't break ↵ | Roy Frostig | 2010-06-28 | 1 | -0/+11 |
| | | | | | everything. Note util.rs hasn't yet been declared mod in the std crate. Don't do that yet, as it breaks make check. | ||||
| * | Populate tree. | Graydon Hoare | 2010-06-23 | 1 | -0/+30 |