aboutsummaryrefslogtreecommitdiff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Support 0 flag in #fmtBrian Anderson2011-04-181-5/+49
|
* Support the space flag in #fmtBrian Anderson2011-04-171-4/+9
|
* Support + flag in #fmtBrian Anderson2011-04-171-3/+8
|
* Support #fmt precision for bools, with same rules as stringsBrian Anderson2011-04-171-2/+6
| | | | | Not totally confident this is desirable. The alternative would be to make it a compile error.
* Treat char #fmt conversions just like str conversionsBrian Anderson2011-04-171-1/+1
| | | | Add missing tests
* Support #fmt precision for signed typesBrian Anderson2011-04-171-37/+46
|
* Support #fmt precision for unsigned typesBrian Anderson2011-04-171-11/+49
|
* Support #fmt precision for string typesBrian Anderson2011-04-171-2/+25
|
* Support left-justification in #fmt conversionsBrian Anderson2011-04-161-3/+29
|
* Make #fmt support explicit conversion widthsBrian Anderson2011-04-161-9/+45
|
* stdlib: Add some vector functions: empty, empty_mut, grow_set, and freeze. ↵Patrick Walton2011-04-151-4/+31
| | | | Change _vec.grow to use uint arguments.
* rustc: Use union-find for variable substitutionPatrick Walton2011-04-141-16/+12
|
* Add support for upper-case hex and binary output to #fmt.Brian Anderson2011-04-132-0/+24
| | | | Only works for uints at present. Necessitated the addition of _str.to_upper.
* Add more commentary about ExtFmtBrian Anderson2011-04-131-1/+30
|
* Add support for printing uints as lower-case hex to ExtFmt.Brian Anderson2011-04-131-5/+22
| | | | | Begin passing an ExtFmt.RT.conv parsed format description to each of the ExtFmt.RT.conv* functions.
* Move #fmt conversion model into ExtFmt.CT namespaceBrian Anderson2011-04-131-44/+44
|
* Make expr_while work in typestate_checkTim Chevalier2011-04-131-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.)
* Slight updates to match API drift in io, lib-io.rs passes.Graydon Hoare2011-04-131-1/+1
|
* Further work on typestate. Handles expr_rec and expr_assign now.Tim Chevalier2011-04-121-3/+12
| | | | | | | | | | | | Also changed the ts_ann field on statements to be an ann instead, which explains most of the changes. As well, got rid of the "warning: no type for expression" error by filling in annotations for local decls in typeck (not sure whether this was my fault or not). Finally, in bitv, added a clone() function to copy a bit vector, and fixed is_true, is_false, and to_str to not be nonsense.
* Factor out creation of calls into ExtFmt.RTBrian Anderson2011-04-111-4/+4
|
* Add support for bool, char to extfmt.Brian Anderson2011-04-111-0/+12
| | | | XFAIL syntax-extension-fmt in rustboot.
* Move ExtFmt compile-time functions into their own moduleBrian Anderson2011-04-111-170/+173
|
* Use correct indentation for ExtFmt.rsBrian Anderson2011-04-111-6/+15
|
* Make ExtFmt call its own functions instead of others defined in stdBrian Anderson2011-04-111-0/+11
|
* Move extfmt parsing into standard libraryBrian Anderson2011-04-111-0/+213
|
* Move the extfmt data model into the standard library.Brian Anderson2011-04-112-0/+48
|
* Make lexer buffer the whole fileMarijn Haverbeke2011-04-091-0/+8
| | | | | This way, it won't have to go through a bunch of calls for each byte fetched.
* Implemented computing prestates and poststates for a few expression forms.Tim Chevalier2011-04-081-0/+15
| | | | | The typestate checker (if it's uncommented) now correctly rejects a trivial example program that has an uninitialized variable.
* stdlib: Add a simple union-find data structurePatrick Walton2011-04-072-0/+43
|
* Re-add a read_byte() method to buf_reader objsMarijn Haverbeke2011-04-081-20/+18
| | | | | | | | | This was removed because of the repetition, but doing single-byte reads in terms of read_bytes (which allocates a vec) is needlessly slow. This change speeds up parsing by 22%. (Eventually, we won't be able to escape handling the buffering in the stdlib itself.)
* Revise EBML reader APIMarijn Haverbeke2011-04-071-89/+77
| | | | New one is less stateful, easier to work with.
* Continued sketching out code for checking states against preconditions.Tim Chevalier2011-04-064-0/+62
| | | | | | | | | 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 Chevalier2011-04-011-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: Use the crate index to look up defsPatrick Walton2011-03-312-0/+32
|
* stdlib: Add a write_be_uint() function to writersPatrick Walton2011-03-311-0/+14
|
* Add a result_str method to std.sha1.sha1.Graydon Hoare2011-03-261-0/+12
|
* rustc: Parse definition IDs from crates; add a function to parse unsigned ↵Patrick Walton2011-03-251-0/+12
| | | | ints to the standard library
* rustc: Look up names in "use"d cratesPatrick Walton2011-03-252-6/+18
|
* stdlib: Implement a memory buffer reader, untested at the momentPatrick Walton2011-03-251-22/+61
|
* stdlib: Separate basic I/O reading functionality into a separate buf_reader ↵Patrick Walton2011-03-255-25/+85
| | | | object, like writing
* Start making the standard-lib utf-8 awareMarijn Haverbeke2011-03-255-42/+229
| | | | | | Finally implements _str.is_utf8, adds from_chars, from_char, to_chars, char_at, char_len, (push|pop|shift|unshift)_char. Also, proper character I/O for streams.
* rustc: Open "use"d crates; add a _vec.vec_from_buf() method along the way; ↵Patrick Walton2011-03-241-1/+7
| | | | XFAIL use-import-export.rs in rustc
* stdlib: Provide a function to extract the underlying buf_writer from a writerPatrick Walton2011-03-221-0/+9
|
* stdlib: Add EBML writing functionalityPatrick Walton2011-03-221-2/+67
|
* stdlib: Add a convenience method for opening paths as a FILEPatrick Walton2011-03-221-0/+10
|
* stdlib: Make writers seekable; switch file writers to the C FILE interface ↵Patrick Walton2011-03-225-14/+101
| | | | to make this work
* Revert "Remove usages of case(_) { fail; } since the compiler does this ↵Patrick Walton2011-03-222-0/+2
| | | | | | automatically". When we have exhaustiveness checking, "case(_) { fail; }" will be useful to silence warnings. This reverts commit 92a716d862d92d3cc52a400457d2c3900d0c57a2.
* lib: Add an EBML reader modulePatrick Walton2011-03-222-0/+110
|
* Remove usages of case(_) { fail; } since the compiler does this automaticallyBrian Anderson2011-03-222-2/+0
|
* Add a "last" function to return the last element of a vector to the standard ↵Patrick Walton2011-03-211-0/+12
| | | | library