about summary refs log tree commit diff
path: root/src/rustc/middle/tstate/states.rs
AgeCommit message (Collapse)AuthorLines
2012-09-21rustc: Remove middle/tstateBrian Anderson-623/+0
I feel like I've done this before
2012-09-04rustc: "import" -> "use"Patrick Walton-15/+15
2012-08-26Camel case the option typeBrian Anderson-15/+15
2012-08-23`m1!{...}` -> `m1!(...)`Paul Stansifer-0/+623
2012-08-22rustc: Remove typestate sourceBrian Anderson-623/+0
2012-08-07syntax: Rename expr_alt to expr_matchBrian Anderson-1/+1
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-23/+23
2012-08-01Convert ret to returnBrian Anderson-46/+49
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-16/+16
2012-07-29Rewrite bitv to use classes and optimize its representationTim Chevalier-18/+18
Rewrote bitv as a class that uses a 32-bit int as its representation for bit vectors of 32 bits or less, and a vector (the old representation) otherwise. I didn't benchmark very much, but a bit of informal benchmarking suggested this is a win. Closes #2341
2012-07-14Move the world over to using the new style string literals and types. Closes ↵Michael Sullivan-2/+2
#2907.
2012-07-06For #2229, recognize 'again' in place of 'cont', final change pending snapshot.Graydon Hoare-1/+1
2012-07-03Revert "Remove rule requiring non-nil block-style statements to be ↵Brian Anderson-1/+1
semi-terminated" This reverts commit 0f5eaef5fb2443acd3ea67250c953839c3d04d38.
2012-07-03Remove rule requiring non-nil block-style statements to be semi-terminatedBrian Anderson-1/+1
This is a subtle rule that no longer seems to be required.
2012-07-01Convert to new closure syntaxBrian Anderson-11/+14
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-5/+5
2012-06-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-6/+6
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-3/+3
2012-06-20Remove bind. Issue #2189Brian Anderson-15/+0
2012-06-18Add 'do' expressionsBrian Anderson-1/+2
2012-06-13Box AST identsBrian Anderson-1/+1
2012-06-08Get rid of little-used logging fns in util::common. Closes #2553.Lindsey Kuper-60/+15
Also got rid of a bunch of commented-out logging statements and generally cleaned up the logging situation, mostly in typestate.
2012-06-07Comments only: annotate remainder of FIXMEs in typestateTim Chevalier-3/+3
2012-05-29Handle poststates of breaking loops correctly in typestateTim Chevalier-6/+10
The poststate should be one where all predicates are assumed false, rather than the unchanged prestate. Closes #2374
2012-05-24remove dead assignmentsNiko Matsakis-25/+0
2012-05-24remove initedness checking from typestate, as best I couldNiko Matsakis-86/+6
2012-05-15Remove `be` keyword.Lindsey Kuper-8/+0
Closes #2227.
2012-05-10Remove `do { ... } while ...` from the language.Paul Stansifer-34/+0
2012-05-07make it illegal to implicitly capture mutable variablesNiko Matsakis-1/+1
this is the final part of #1273
2012-05-04new cap clause syntaxNiko Matsakis-4/+8
2012-04-25Rewrite exhaustiveness checkerMarijn Haverbeke-1/+0
Issue #2111
2012-04-15Forbid deinitializing upvars in typestateTim Chevalier-9/+29
Closes #1965.
2012-04-11Add vstore/evec/estr to compiler.Graydon Hoare-0/+6
2012-04-06Re-rename option functionsTim Chevalier-2/+2
get_with_default (nee from_maybe) => get_default with_option (nee maybe) => map_default with_option_do (nee may) => iter As per discussion of 21be1379d561b6679a8a2ea47dce88f948c5acca
2012-04-06Remove support for old-style forMarijn Haverbeke-3/+0
Closes #1619
2012-04-06Convert old-style for loops to new-styleMarijn Haverbeke-8/+8
Most could use the each method, but because of the hack used to disambiguate old- and new-style loops, some had to use vec::each. (This hack will go away soon.) Issue #1619
2012-04-02Rename some core::option functionsTim Chevalier-2/+2
from_maybe => get_with_default maybe => with_option may => with_option_do I know these names are kind of ridiculous, but it's the best I could think of. Feel free to bikeshed. Closes #2081
2012-03-27Support an alternate for syntax that calls a higher-order functionMarijn Haverbeke-15/+4
The last argument of the call must be a block, and the type of this argument must a function returning bool. `break` and `cont` are supported in the body of the block, and return `false` or `true` from the function. When the end of the function is reached, `true` is implicitly returned. for vec::all([1, 2, 3]) {|elt| if elt == 2 { break; } log(error, elt); } Issue #1619
2012-03-21add mut decls to rustc and make them mandatoryNiko Matsakis-27/+27
2012-03-20Implement an initial version of placement new.Niko Matsakis-0/+3
2012-03-20Revert order of arguments to option::maybe and from_maybeMarijn Haverbeke-1/+1
Closes #2019
2012-03-13Overhaul constructor naming in libsBrian Anderson-3/+3
2012-03-10In typestate, consider infinite loops w/ conts to be infiniteTim Chevalier-1/+3
If a loop { } contains a cont, that doesn't affect whether the entire loop diverges. Only breaks affect that. Fix that in typestate.
2012-03-10Handle infinite-loop poststate correctly in typestateTim Chevalier-1/+1
If control passes an infinite loop (that doesn't have non-local exits), then everything is true.
2012-03-09Add an infinite loop constructTim Chevalier-3/+15
Add a loop {} construct for infinite loops, and use it in test cases. See #1906 for details.
2012-03-08rustc: Change the address-of operator to an explicit production so that we ↵Patrick Walton-0/+3
can parse the mutability
2012-03-08Rename last to last_opt, last_unsafe to lastTim Chevalier-1/+1
As per discussion on IRC. I am about to file an RFC for further discussion about the more general issue of whether to enforce invariants through types, typestate, or dynamic checks, but for now, removing the misleading name "last_unsafe".
2012-03-07stdlib: Stop incurring vtable dispatch costs when hashmaps are usedPatrick Walton-0/+1
This required changing almost all users of hashmaps to import the hashmap interface first. The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07Revert "stdlib: Stop incurring vtable dispatch costs when hashmaps are used"Patrick Walton-1/+0
This reverts commit f0250a23d3fa2f8b4a4a4113ca89e41945a4cfed.
2012-03-07stdlib: Stop incurring vtable dispatch costs when hashmaps are usedPatrick Walton-0/+1
This required changing almost all users of hashmaps to import the hashmap interface first. The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.