about summary refs log tree commit diff
path: root/src/comp/middle/tstate
AgeCommit message (Collapse)AuthorLines
2011-12-16reorder args to the various vec, option fns so blk comes lastNiko Matsakis-5/+5
2011-12-16Make uses of self in impls compileMarijn Haverbeke-2/+0
Get rid of expr_self_call, introduces def_self. `self` is now, syntactically, simply a variable. A method implicitly brings a `self` binding into scope. Issue #1227
2011-12-16Parse and resolve implementations.Marijn Haverbeke-12/+10
Issue #1227
2011-12-14push changes through to get things compiling, if not running.Niko Matsakis-2/+5
2011-12-14first attempt, not happy with itNiko Matsakis-2/+2
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-14/+14
2011-12-08Allow binding of nested patternsMarijn Haverbeke-14/+6
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is boundvar@subpattern Which will match the subpattern as usual, but also bind boundvar to the whole matched value. Closes #838
2011-12-07Remove stmt_crate_directive, it's vestigial and confusing.Graydon Hoare-4/+0
2011-12-07Make typestate properly descend pattern guardsMarijn Haverbeke-0/+10
Closes #1265
2011-11-30Box ast::path valuesMarijn Haverbeke-5/+5
It seems inefficient to copy them around. Let's measure whether that's actually > the case
2011-11-22Only warn about unreachable range patterns when appropriateMarijn Haverbeke-1/+0
Also simplifies the literal-munging, and moves it into ast_util Closes #1170
2011-11-21rustc: Remove abi from ast::native_modHaitao Li-1/+1
2011-11-17remove compile-command from local variable blocksNiko Matsakis-9/+0
2011-11-10Cleanup unused importsHaitao Li-44/+26
2011-10-21Change the way block calls are parsed, mark them as block-calls.Marijn Haverbeke-4/+4
This makes it possible to omit the semicolon after the block, and will cause the pretty-printer to properly print such calls (if pretty-printing of blocks wasn't so broken). Block calls (with the block outside of the parentheses) can now only occur at statement level, and their value can not be used. When calling a block-style function that returns a useful value, the block must be put insde the parentheses. Issue #1054
2011-10-21Drop support for iter, put, and for-eachMarijn Haverbeke-32/+3
Closes #1056
2011-10-21Move ast_util::pat_bindings over to new iter system.Marijn Haverbeke-24/+21
Issue #1056
2011-10-21Move hash table iteration over to block-taking functionsMarijn Haverbeke-8/+6
Issue #1056
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-3/+5
2011-10-07Give up on providing a by-value version of map, convert fold over toMarijn Haverbeke-5/+5
passing pointers by ref Issue #1008
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-5/+5
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-09-28Don't descend into functions from relax_precond_blockMarijn Haverbeke-10/+6
Closes #913
2011-09-26Add a workaround hack for issue #913Marijn Haverbeke-1/+3
I can't figure out what the real cause of this bug is, but I want to be able to use blocks inside loops again.
2011-09-20Represent unique creation as a unop in the AST instead of its own exprBrian Anderson-2/+0
Like the box unop. Issue #409
2011-09-15Forbid assignment to by-reference bindingsMarijn Haverbeke-9/+10
Issue #918
2011-09-15Add representation for by-ref let bindingsMarijn Haverbeke-3/+5
Issue #918
2011-09-14Rename ast::controlflow to ast::ret_styleMarijn Haverbeke-12/+12
It will include information about returning by alias.
2011-09-12Factor imports mindlessly.Graydon Hoare-161/+50
2011-09-12Pretty-print for new arg-mode syntaxMarijn Haverbeke-1/+10
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-295/+293
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-12Make the names of the arg mode tag reflect their (revised) meaningMarijn Haverbeke-2/+2
2011-09-06Forbid blocks from deinitializing upvarsTim Chevalier-2/+22
Move expressions where the RHS is an upvar are now forbidden within block expressions.
2011-09-02Reformat. Issue #855Brian Anderson-147/+143
2011-09-02Handle if-check with no else correctly in typestateTim Chevalier-4/+17
Propagate the if-check constraint into the consequent even when there's no else branch. (Oops!)
2011-09-01Convert all uses of #ifmt to #fmt. Issue #855Brian Anderson-1/+1
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-6/+6
2011-09-01Remove std::str. Issue #855Brian Anderson-1/+0
2011-09-01No, not all fn constraints have the same args as the fn does, in the same ↵Tim Chevalier-4/+18
order... derp! Closes #862
2011-09-01Remove various istr conversions. Issue #855Brian Anderson-7/+7
2011-09-01Make resolve recognize upvarsMarijn Haverbeke-42/+28
Upvars are now marked with def_upvar throughout, not just when going through freevars::lookup_def. This makes things less error-prone. One thing to watch out for is that def_upvar is used in `for each` bodies too, when they refer to a local outside the body.
2011-09-01Store arg mode and objfield mutability in their defMarijn Haverbeke-5/+5
2011-08-31Check all paths return properly in blocks. Closes #874.Michael Sullivan-1/+1
2011-08-31Get rid of the hack that ignores () typed things in fn tail position.Michael Sullivan-12/+6
Closes #868. Unfortunately, this causes certain invalid programs to fail type-checking instead of failing type-state when a type-state error message would probably be more intuitive. (Although, by any reasonable interpretation of the static semantics, it technically ought to be a type error.)
2011-08-31Convert uses of #fmt to #ifmt. Issue #855Brian Anderson-3/+3
2011-08-27Convert rustc::driver::session to istrs. Issue #855Brian Anderson-47/+48
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-15/+16
2011-08-27Convert rustc::util to istrs. Issue #855Brian Anderson-4/+5
2011-08-27Convert the rest of rustc::middle to istrs. Issue #855Brian Anderson-61/+62
2011-08-27Convert ast::ident to istr. Issue #855Brian Anderson-23/+36
2011-08-27Convert std::int to istrs. Issue #855Brian Anderson-8/+12