| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-01-19 | Handle predicates that recurse in a check() expression | Tim Chevalier | -9/+10 | |
| typestate was using the enclosing function ID for the "this function returns" constraint, which meant confusion and panic in the case where a predicate p includes "check p()". Fixed it to use a fresh ID. Closes #933 | ||||
| 2012-01-19 | rustc: ";" to "," in enums | Patrick Walton | -11/+11 | |
| 2012-01-19 | rustc: Remove trailing whitespace | Patrick Walton | -1/+1 | |
| 2012-01-19 | Compute typestates for FRU exprs correctly, plus a bit of cleanup | Tim Chevalier | -50/+36 | |
| The code in Issue 948 was causing typestate to diverge because it was using the prestate for the whole expression -- not the post- state for the fields list -- as the prestate for the record base expression. Fixed. Closes #948 | ||||
| 2012-01-19 | rustc: "tag" -> "enum" | Patrick Walton | -5/+5 | |
| 2012-01-18 | Remove '.' after nullary tags in patterns | Tim Chevalier | -77/+77 | |
| Does what it says on the tin. The next commit will remove support for this syntax. | ||||
| 2012-01-17 | Allow omission of the '.' after nullary tag patterns | Tim Chevalier | -43/+52 | |
| This commit allows patterns like: alt x { some(_) { ... } none { } } without the '.' after none. The parser suspends judgment about whether a bare ident is a tag or a new bound variable; instead, the resolver disambiguates. This means that any code after resolution that pattern-matches on patterns needs to call pat_util::normalize_pat, which consults an environment to do this disambiguation. In addition, local variables are no longer allowed to shadow tag names, so this required changing some code (e.g. renaming variables named "mut", and renaming ast::sub to subtract). The parser currently accepts patterns with and without the '.'. Once the compiler and libraries are changed, it will no longer accept the '.'. | ||||
| 2012-01-13 | deprecate fn exprs and the fn() type, preferring fn@ and native fn | Niko Matsakis | -4/+5 | |
| 2012-01-13 | Obj system? What obj system? | Marijn Haverbeke | -16/+0 | |
| Removes the obj system from the compiler. Closes #1484 | ||||
| 2012-01-12 | Make driver::session::session no longer an object | Marijn Haverbeke | -4/+10 | |
| Rather, it is now a struct where properties like opts are accessed directly, and the error-reporting methods are part of a static impl (with the same name as the type). | ||||
| 2012-01-11 | Implement std::map as an iface/impl instead of an obj | Marijn Haverbeke | -5/+5 | |
| 2012-01-09 | Remove proto_sugar and 'lambda' as keyword, commit to fn@. | Graydon Hoare | -1/+1 | |
| 2012-01-06 | Disallow variable names that shadow tags in scope | Tim Chevalier | -6/+6 | |
| Now, if you have a tag named "foo", a variable declaration like "let foo..." is illegal. This change makes it possible to eliminate the '.' after a nullary tag pattern in an alt (but I'll be doing that in a future commit) -- as now it's always obvious whether a name refers to a tag or a new declared variable. resolve implements this change -- all the other changes are just to get rid of existing code that declares variables that shadow tag names. | ||||
| 2012-01-05 | require a non-semi expr acting as a stmt to have unit return type | Niko Matsakis | -11/+7 | |
| 2012-01-04 | Reformat typestate error messages so as not to confuse emacs compilation mode | Tim Chevalier | -3/+5 | |
| 2011-12-29 | split proto from fn_decl, as not all fn_decls know the proto. | Niko Matsakis | -36/+30 | |
| this will address the (crashing) new test added. | ||||
| 2011-12-23 | Go back to a single visit_fn function in visit.rs | Marijn Haverbeke | -19/+22 | |
| 2011-12-23 | Parse `iface` items and interface references in `impl` items. | Marijn Haverbeke | -3/+2 | |
| The (temporary) syntax is iface seq<T> { fn len() -> uint; fn iter(f: block(T)); } // The 'blah<T>' can be left of to default the name of the // impl to seq<T>. The 'of seq<T>' can be left off when // not implementing a named interface. impl blah<T> of seq<T> for [T] { fn len() -> uint { vec::len(self) } fn iter(f: block(T)) { for x in self { f(x); } } } | ||||
| 2011-12-23 | Use the same type of record in ty::ty_fn and ty::method | Marijn Haverbeke | -3/+3 | |
| Removes some more code duplication. | ||||
| 2011-12-22 | Register new snapshots, purge log_err and log_full in favour of log(...). | Graydon Hoare | -22/+22 | |
| 2011-12-22 | Merge all 3 log syntaxes, tidy up residual misuses. | Graydon Hoare | -10/+9 | |
| 2011-12-22 | Merge branch 'master' of github.com:graydon/rust | Graydon Hoare | -14/+12 | |
| 2011-12-22 | Register snapshots and switch logging over to use of log_full or #error / ↵ | Graydon Hoare | -72/+78 | |
| #debug. | ||||
| 2011-12-22 | Unify some data structures in syntax::ast that were doing the same thing | Marijn Haverbeke | -14/+12 | |
| As a preparation to removing some duplication in typeck. | ||||
| 2011-12-21 | Switch log_expr to carrying a full expr:u32 for level. Add log_full variant ↵ | Graydon Hoare | -5/+4 | |
| that parses that expr, prepare for snapshot. | ||||
| 2011-12-21 | Make { || ... } sugar for any type of closure, inferred | Niko Matsakis | -88/+114 | |
| 2011-12-19 | implement capture clauses (move, in particular) and integrate | Niko Matsakis | -0/+7 | |
| them into type state and so forth | ||||
| 2011-12-19 | integrate cap clause into type state, but not trans | Niko Matsakis | -14/+37 | |
| 2011-12-19 | when collecting free vars, track the span where it is used too | Niko Matsakis | -1/+1 | |
| 2011-12-19 | Add type argument field to expr_path | Marijn Haverbeke | -2/+2 | |
| This way, you can explicitly provide type parameters when calling a generic method. Issue #1227 | ||||
| 2011-12-16 | reorder args to the various vec, option fns so blk comes last | Niko Matsakis | -5/+5 | |
| 2011-12-16 | Make uses of self in impls compile | Marijn 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-16 | Parse and resolve implementations. | Marijn Haverbeke | -12/+10 | |
| Issue #1227 | ||||
| 2011-12-14 | push changes through to get things compiling, if not running. | Niko Matsakis | -2/+5 | |
| 2011-12-14 | first attempt, not happy with it | Niko Matsakis | -2/+2 | |
| 2011-12-13 | Copy first batch of material from libstd to libcore. | Graydon Hoare | -14/+14 | |
| 2011-12-08 | Allow binding of nested patterns | Marijn 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-07 | Remove stmt_crate_directive, it's vestigial and confusing. | Graydon Hoare | -4/+0 | |
| 2011-12-07 | Make typestate properly descend pattern guards | Marijn Haverbeke | -0/+10 | |
| Closes #1265 | ||||
| 2011-11-30 | Box ast::path values | Marijn Haverbeke | -5/+5 | |
| It seems inefficient to copy them around. Let's measure whether that's actually > the case | ||||
| 2011-11-22 | Only warn about unreachable range patterns when appropriate | Marijn Haverbeke | -1/+0 | |
| Also simplifies the literal-munging, and moves it into ast_util Closes #1170 | ||||
| 2011-11-21 | rustc: Remove abi from ast::native_mod | Haitao Li | -1/+1 | |
| 2011-11-17 | remove compile-command from local variable blocks | Niko Matsakis | -9/+0 | |
| 2011-11-10 | Cleanup unused imports | Haitao Li | -44/+26 | |
| 2011-10-21 | Change 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-21 | Drop support for iter, put, and for-each | Marijn Haverbeke | -32/+3 | |
| Closes #1056 | ||||
| 2011-10-21 | Move ast_util::pat_bindings over to new iter system. | Marijn Haverbeke | -24/+21 | |
| Issue #1056 | ||||
| 2011-10-21 | Move hash table iteration over to block-taking functions | Marijn Haverbeke | -8/+6 | |
| Issue #1056 | ||||
| 2011-10-20 | Make fn denote a bare function. Convert fn to fn@ as needed | Brian Anderson | -3/+5 | |
| 2011-10-07 | Give up on providing a by-value version of map, convert fold over to | Marijn Haverbeke | -5/+5 | |
| passing pointers by ref Issue #1008 | ||||
