| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-03-02 | Move src/comp to src/rustc | Graydon Hoare | -2381/+0 | |
| 2012-02-29 | optionally enforce local variable mutability | Niko Matsakis | -3/+4 | |
| 2012-02-29 | Recognize last uses for copied closed-over variables | Marijn Haverbeke | -2/+1 | |
| And clean up and fix some bad things in last_use.rs. Closes #1894 | ||||
| 2012-02-28 | change def's that are always local to use node_id, add --inline opt | Niko Matsakis | -11/+13 | |
| 2012-02-23 | rustc: Don't add duplicate entries to exp_map | Brian Anderson | -1/+7 | |
| 2012-02-23 | Support basic, unsophisticated, somewhat wrong export-globs. | Graydon Hoare | -50/+145 | |
| 2012-02-23 | Treat export-globs as import-globs for sake of linking. | Graydon Hoare | -3/+12 | |
| 2012-02-23 | Minor renaming to help my comprehension. | Graydon Hoare | -38/+44 | |
| 2012-02-22 | Improve error message for use of a non-pure-fn in a pred | Tim Chevalier | -3/+3 | |
| Closes #1883 | ||||
| 2012-02-22 | Stop normalizing patterns | Marijn Haverbeke | -11/+9 | |
| The check for whether a pat_ident is a variant or a binding is simple and fast. Normalizing patterns again and again is slow and error-prone (several places were forgetting to do it). | ||||
| 2012-02-22 | Remove preconditions from libraries | Marijn Haverbeke | -2/+0 | |
| Closes #1805 | ||||
| 2012-02-20 | Oops, my whitespace is showing | Tim Chevalier | -1/+1 | |
| 2012-02-20 | Further work on resolving and typechecking classes | Tim Chevalier | -13/+56 | |
| Class tests aren't working yet, but they fail a little later :-) Also, make the parser correctly set a constructor's result type to its enclosing class type. | ||||
| 2012-02-18 | rustc: Add missing space to error message | Brian Anderson | -1/+1 | |
| 2012-02-17 | Refactor view_path to parse (but not yet process) export globs, unify code ↵ | Graydon Hoare | -185/+253 | |
| paths. | ||||
| 2012-02-17 | rustc: Make resolve more forgiving of missing external crates | Brian Anderson | -4/+12 | |
| Rustdoc needs to be able to resolve locals without resolving externals | ||||
| 2012-02-17 | rustdoc: Resolve imports and reexports | Brian Anderson | -19/+32 | |
| 2012-02-15 | Replace some explicit fails with 'alt check' invocations | Marijn Haverbeke | -13/+7 | |
| 2012-02-15 | Fix bug in safe-reference checker | Marijn Haverbeke | -7/+7 | |
| At some point, a refactor broke the code that handled local declarations to no longer descend into the initializer expressions. Closes #1846 | ||||
| 2012-02-11 | core: Change the argument order for vec::contains, vec::count | Brian Anderson | -3/+3 | |
| 2012-02-11 | core: Rename vec::member to vec::contains to match str mod | Brian Anderson | -3/+3 | |
| 2012-02-10 | Remove a vestige of return-by-reference | Marijn Haverbeke | -6/+6 | |
| 2012-02-09 | Further WIP on classes | Tim Chevalier | -1/+13 | |
| Changes to resolve and typeck. Still nothning working yet. | ||||
| 2012-02-09 | Remove some pointless imports | Marijn Haverbeke | -2/+1 | |
| 2012-02-08 | A bit more WIP on classes, and some cleanup in resolve | Tim Chevalier | -83/+131 | |
| 2012-02-07 | Minor class-related tweaks to the AST | Tim Chevalier | -1/+2 | |
| 2012-02-06 | Handle built-in typenames in the resolve pass, rather than in parser | Marijn Haverbeke | -19/+43 | |
| Closes #1728 Comments out a section of debuginfo.rs. This code was already broken (only being called when --xg was passed, and only working on trivial programs). | ||||
| 2012-02-06 | Self types for ifaces | Marijn Haverbeke | -2/+9 | |
| This allows a 'Name:' to appear in front of an iface declaration's name, which will cause 'Name' to refer to the self type (with the same number of type parameters as the iface has) in the method signatures of the iface. For example: iface F: functor<A> { fn fmap<B>(f: fn(A) -> B) -> F<B>; } Issue #1718 | ||||
| 2012-02-03 | Beginnings of front-end support for classes | Tim Chevalier | -0/+3 | |
| Added class support to the parser, prettyprinter, fold, and visit. (See Issue 1726.) This is WIP -- the test case is xfailed, and attempting to compile it will error out in resolve. | ||||
| 2012-02-03 | Store item paths in ast_map, get rid of trans::local_ctxt | Marijn Haverbeke | -1/+2 | |
| The direct motivation for this was that the monomorphizer needs to be able to generate sane symbols for random items. The typechecker can probably also use this in the future to provide more useful error messages. | ||||
| 2012-02-01 | Remove support for native types | Marijn Haverbeke | -6/+0 | |
| Issue #1673 | ||||
| 2012-01-31 | Change option::t to option | Tim Chevalier | -39/+39 | |
| Now that core exports "option" as a synonym for option::t, search-and- replace option::t with option. The only place that still refers to option::t are the modules in libcore that use option, because fixing this requires a new snapshot (forthcoming). | ||||
| 2012-01-31 | Require alts to be exhaustive | Tim Chevalier | -52/+76 | |
| middle::check_alt does the work. Lots of changes to add default cases into alts that were previously inexhaustive. | ||||
| 2012-01-30 | Change all ternary ops to if/then/else | Paul Woolcock | -3/+6 | |
| All the files below had at least one instance of the ternary operator present in the source. All have been changed to the equivalent if/then/else expression. | ||||
| 2012-01-30 | Revert self types | Marijn Haverbeke | -1/+1 | |
| 2012-01-29 | Fix mistake in previous commit | Marijn Haverbeke | -1/+2 | |
| 2012-01-29 | Fix bug where resolve didn't descend method ty params | Marijn Haverbeke | -1/+1 | |
| Closes #1700 | ||||
| 2012-01-26 | Make re-exporting of impls work | Marijn Haverbeke | -80/+101 | |
| Closes #1438 | ||||
| 2012-01-26 | Allow operator overloading of the indexing operator | Marijn Haverbeke | -1/+4 | |
| The method `op_index` (which takes a single argument) is used for this. Issue #1520 | ||||
| 2012-01-26 | First stab at operator overloading | Marijn Haverbeke | -3/+3 | |
| When no built-in interpretation is found for one of the operators mentioned below, the typechecker will try to turn it into a method call with the name written next to it. For binary operators, the method will be called on the LHS with the RHS as only parameter. Binary: + op_add - op_sub * op_mul / op_div % op_rem & op_and | op_or ^ op_xor << op_shift_left >> op_shift_right >>> op_ashift_right Unary: - op_neg ! op_not Overloading of the indexing ([]) operator isn't finished yet. Issue #1520 | ||||
| 2012-01-26 | Remove ty_native_fn | Marijn Haverbeke | -5/+3 | |
| It was being used as a clumsy synonym of ty_fn. | ||||
| 2012-01-25 | Implement implicit self type parameters for ifaces | Marijn Haverbeke | -1/+1 | |
| Closes #1661 | ||||
| 2012-01-25 | Rename tag to enum throughout the compiler | Marijn Haverbeke | -30/+31 | |
| This should reduce confusion of people trying to read the code. | ||||
| 2012-01-23 | s/block()/fn()/g | Niko Matsakis | -2/+2 | |
| 2012-01-23 | Check that the names mentioned in tag exports are actually types (or variants) | Tim Chevalier | -2/+58 | |
| Check that in export foo{}, foo is an enum type, and that in export foo{bar, quux}, foo is an enum type and bar and quux are variants belonging to foo. | ||||
| 2012-01-23 | Export all enum variants by default; new syntax for selectively exporting ↵ | Tim Chevalier | -0/+2 | |
| variants See issue 1426 for details. Now, the semantics of "export t;" where t is a tag are to export all of t's variants as well. "export t{};" exports t but not its variants, while "export t{a, b, c};" exports only variants a, b, c of t. To do: - documentation - there's currently no checking that a, b, c are actually variants of t in the above example - there's also no checking that t is an enum type, in the second two examples above - change the modules listed in issue 1426 that should have the old export semantics to use the t{} syntax I deleted the test export-no-tag-variants since we're doing the opposite now, and other tests cover the same behavior. | ||||
| 2012-01-21 | rustc: Always resolve reexported names from original def | Haitao Li | -22/+2 | |
| Issue #1501 | ||||
| 2012-01-19 | rustc: ";" to "," in enums | Patrick Walton | -24/+24 | |
| 2012-01-19 | rustc: "tag" -> "enum" | Patrick Walton | -23/+23 | |
| 2012-01-18 | Remove '.' after nullary tags in patterns | Tim Chevalier | -43/+43 | |
| Does what it says on the tin. The next commit will remove support for this syntax. | ||||
