aboutsummaryrefslogtreecommitdiff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make the parser more careful about keywordsMarijn Haverbeke2011-05-131-1/+1
| | | | | | Keywords are now only recognized in contexts where they are valid. The lexer no longer recognizes them, all words are lexed as IDENT tokens, that get interpreted by the parser.
* Fix naming of libc that was mangled by recent module changesBrian Anderson2011-05-132-2/+2
| | | | | It doesn't appear that rustc makes use of these strings so it didn't actually break anything yet.
* Rename std.extfmt.CT to std.extfmt.RT to ct and rtBrian Anderson2011-05-121-2/+256
| | | | | Temporarily duplicate the entire RT module, leaving it with the old name to accomodate the stage0 compiler. Will be removed after the next snapshot.
* Downcase std modules again, move to :: for module dereferencingMarijn Haverbeke2011-05-1235-452/+452
| | | | This should be a snapshot transition.
* Remove a few more 'mutable' wordsMarijn Haverbeke2011-05-112-3/+3
| | | | Didn't see these before because they live in non-Linux code.
* Rewrite comp/middle/resolve.rsMarijn Haverbeke2011-05-111-0/+11
| | | | | | | | | * Cleans up the algorithm * Move first pass to walk (second still folds) * Support part of a type/value namespace split (crate metadata and module indices still need to be taught about this) * Remove a few blatant inefficiencies (import tables being recreated for every lookup, most importantly)
* Reuse a single work buffer every time the SHA1 message block is processed.Brian Anderson2011-05-111-3/+7
| | | | | | This finally allows the full lib-sha1 test to run in a reasonable amount of time. Was 30s, now 3s. Trims a second or two from stage2/rustc. XFAIL lib-sha1 in stage0 since it will be very slow until the next snapshot.
* Remove unnecessary array access from SHA1Brian Anderson2011-05-111-14/+15
| | | | Provides a very small speedup.
* Introduce str_slice runtime functionBrian Anderson2011-05-111-7/+5
| | | | | | | This reduces the time to execute the new lib-str tests from 1:40ish to a few seconds and will eventually allow the full lib-sha1 test to run in a reasonable amount of time. XFAIL lib-str in stage0 - it will run very slowly until the next snapshot.
* rustc: Create mutable vectors in macos_OS.rs. Should put out Darwin tinderbox.Patrick Walton2011-05-101-2/+2
|
* Remove a couple more spurious 'mutable' value qualifiers from macos_OS.rs.Graydon Hoare2011-05-101-2/+2
|
* stdlib: Remove Str.unsafe_from_mutable_bytes(). rustc now self-hosts 18 ↵Patrick Walton2011-05-102-10/+1
| | | | seconds faster.
* Failure to re-stage changes strikes again.Graydon Hoare2011-05-061-1/+1
|
* Fix GenericOS.getenv returning a raw str, return an Option.t[str] instead.Graydon Hoare2011-05-062-3/+8
|
* Rename std modules to be camelcasedMarijn Haverbeke2011-05-0632-352/+351
| | | | (Have fun mergining your stuff with this.)
* Ge the host triple using LLVM. Fix a few 'mutable' warnings also.Kelly Wilson2011-05-061-6/+6
|
* Add quick sort function to the std lib.Kelly Wilson2011-05-051-0/+52
|
* Attempt to fix fs.dirname harder.Graydon Hoare2011-05-053-7/+4
|
* Because good hackers at least check to see if the code compiles.Graydon Hoare2011-05-051-2/+2
|
* Fix assumption that only os_fs.path_sep can separate paths, sigh.Graydon Hoare2011-05-051-1/+7
|
* Remove 'deprecated mutable...' from our codeMarijn Haverbeke2011-05-059-24/+24
| | | | This should make compilation a bit less noisy.
* Un-revert "Use different syntax for checks that matter to typestate", fixing ↵Patrick Walton2011-05-0215-38/+39
| | | | | | the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
* Revert "Use different syntax for checks that matter to typestate"Graydon Hoare2011-05-0215-39/+38
| | | | This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
* Use different syntax for checks that matter to typestateTim Chevalier2011-05-0215-38/+39
| | | | | | | | | | This giant commit changes the syntax of Rust to use "assert" for "check" expressions that didn't mean anything to the typestate system, and continue using "check" for checks that are used as part of typestate checking. Most of the changes are just replacing "check" with "assert" in test cases and rustc.
* stdlib: Add a Time module to the standard libraryPatrick Walton2011-04-292-0/+13
|
* stdlib: Provide "array" as a friendlier shorthand for "vec[mutable? T]"Patrick Walton2011-04-281-17/+18
|
* stdlib: Add a color_supported() function to TermPatrick Walton2011-04-283-0/+12
|
* stdlib: Add getenv(3) to win32_os.Patrick Walton2011-04-281-0/+2
|
* Further work on typestate_checkTim Chevalier2011-04-281-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of work on typestate_check, seems to get a lot of the way through checking the standard library. * Added for, for_each, assign_op, bind, cast, put, check, break, and cont. (I'm not sure break and cont are actually handled correctly.) * Fixed side-effect bug in seq_preconds so that unioning the preconditions of a sequence of statements or expressions is handled correctly. * Pass poststate correctly through a stmt_decl. * Handle expr_ret and expr_fail properly (after execution of a ret or fail, everything is true -- this is needed to handle ifs and alts where one branch is a ret or fail) * Fixed bug in set_prestate_ann where a thing that needed to be mutated wasn't getting passed as an alias * Fixed bug in how expr_alt was treated (zero is not the identity for intersect, who knew, right?) * Update logging to reflect log_err vs. log * Fixed find_locals so as to return all local decls and exclude function arguments. * Make union_postconds work on an empty vector (needed to handle empty blocks correctly) * Added _vec.cat_options, which takes a list of option[T] to a list of T, ignoring any Nones * Added two test cases.
* stdlib: Use an unsafe cast to speed up the memory writerPatrick Walton2011-04-271-1/+11
|
* stdlib/rt: Add an unsafe function to cast immutable vectors to mutable onesPatrick Walton2011-04-271-0/+2
|
* Fix _str.bytes to trivial version.Graydon Hoare2011-04-271-4/+2
|
* stdlib: Real fix for _uint.parse_buf().Patrick Walton2011-04-271-0/+8
|
* stdlib: Fix a crazy underflow bug in _uint.parse_buf. Oops.Patrick Walton2011-04-271-3/+2
|
* Fix the interaction between various flags in #fmtBrian Anderson2011-04-261-7/+12
|
* Support octal #fmt conversionsBrian Anderson2011-04-261-0/+7
|
* Make #fmt char conversions behave like printfBrian Anderson2011-04-261-1/+1
|
* stdlib: Add a silly ANSI color libraryPatrick Walton2011-04-262-0/+55
|
* Add GetOpts module to stdMarijn Haverbeke2011-04-262-0/+250
|
* Add _str.slice to std libMarijn Haverbeke2011-04-261-2/+6
|
* Skip likely-zero initial probe, speed up map.rs.Graydon Hoare2011-04-251-5/+5
|
* Minimize calls to hash function in map.rsGraydon Hoare2011-04-221-11/+12
|
* stdlib: Add a pointer equality function to the standard library and a test casePatrick Walton2011-04-212-0/+9
|
* Handle nested items correctly in typestate_checkTim Chevalier2011-04-192-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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 half-baked 'opacity' layer qualifier.Graydon Hoare2011-04-191-2/+2
|
* Remove effect system from src.Graydon Hoare2011-04-1911-107/+92
|
* replace error logging with log_err in stdlib and rustcMarijn Haverbeke2011-04-193-17/+17
|
* Precision overrides 0-padding in #fmtBrian Anderson2011-04-181-34/+49
|
* Rearrange ExtFmt.RT.pad to recover some horizontal spaceBrian Anderson2011-04-181-49/+51
|
* Left-justification overrides 0-padding in #fmtBrian Anderson2011-04-181-22/+24
|