| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-05-08 | Start parsing pub/priv on regular items | Marijn Haverbeke | -21/+21 | |
| Issue #1893 | ||||
| 2012-05-07 | make it illegal to implicitly capture mutable variables | Niko Matsakis | -2/+1 | |
| this is the final part of #1273 | ||||
| 2012-05-02 | Remove commented-out code and old comments that accidentally snuck in | Tim Chevalier | -44/+4 | |
| 2012-05-02 | Encode the ifaces a class implements in metadata | Tim Chevalier | -39/+118 | |
| This lets you use class A as if it had type B if A implements B, and A and B are in different crates from your own. Closes #2285 | ||||
| 2012-05-01 | Don't re-export a glob-imported ID when the same ID is defined within | Tim Chevalier | -1/+1 | |
| a module See the test case I added (issue-2316-c) for a concrete example. issue-2316 also contains the originally reported test case. resolve was using bitwise or instead of logical or when checking exports, resulting in excessively eager evaluation. A one-line fix that took six hours to isolate ;-) | ||||
| 2012-04-30 | Stop inferring bot/static when types/regions are unconstrained. | Niko Matsakis | -4/+4 | |
| Also, some other changes that came up along the way: - add a 'blk' region for the current block. - detect unused type/region variables. | ||||
| 2012-04-25 | lots of work to make iface/impls parameterized by regions | Niko Matsakis | -19/+20 | |
| - paths can now take region parameters, replacing the dirty hack I was doing before of abusing vstores. vstores are now a bit of a hack though. - fix various small bugs: - we never checked that iface types were compatible when casting to an iface with `as` - we allowed nonsense like int<int> - and more! (actually that may be it) | ||||
| 2012-04-25 | More slice use in vec, io, str, ebml, metadata encoder and decoder. | Graydon Hoare | -29/+29 | |
| 2012-04-23 | rustc: Eliminate trans dependency from metadata::tyencode | Brian Anderson | -12/+19 | |
| 2012-04-23 | Allow classes to be cast to ifaces that are in the same crate | Tim Chevalier | -11/+7 | |
| I had to xfail one existing test case (class-implements-int) because, I think, of the same bug described in #2272. | ||||
| 2012-04-23 | encode the borrowing table, add a simple cross-crate borrowing test | Niko Matsakis | -1/+15 | |
| 2012-04-23 | Move map iface over to more `for`-friendly iteration methods | Marijn Haverbeke | -3/+3 | |
| 2012-04-23 | Simplify representation of ast::path | Marijn Haverbeke | -2/+2 | |
| 2012-04-20 | Log decoded inline_items when debug is active. | Graydon Hoare | -0/+7 | |
| 2012-04-20 | Implement tydecode::parse_vstore. | Graydon Hoare | -1/+14 | |
| 2012-04-19 | make nominal types optionally parameterized by a self region. | Niko Matsakis | -69/+179 | |
| Issue #2201. | ||||
| 2012-04-18 | syntax: Put the main parser interface in mod parse | Brian Anderson | -4/+4 | |
| 2012-04-18 | Stop duplicating non-generic resource destructors | Marijn Haverbeke | -0/+3 | |
| Closes #2177 | ||||
| 2012-04-16 | rewrite region resolution so it takes place in typeck | Niko Matsakis | -6/+1 | |
| 2012-04-16 | rustc: Resolve external impls defined in yet other crates. Issue #2196 | Brian Anderson | -6/+17 | |
| 2012-04-15 | syntax: Cleanup attr module. Closes #1545 | Brian Anderson | -6/+7 | |
| 2012-04-11 | Allow classes to implement ifaces | Tim Chevalier | -4/+4 | |
| Introduce syntax like: iface animal { ... } class cat implements animal { ... } to allow classes to implement ifaces. Casting classes to ifaces is *not* yet supported. ifaces that a class implements are not yet included in metadata. The syntax is subject to change, and may go away completely if we decide to use duck typing to relate classes with ifaces (see http://smallcultfollowing.com/babysteps/blog/2012/04/10/declared-vs-duckish-typing/ ) | ||||
| 2012-04-11 | Add enough tyencode stuff to stop faulting when we hit error messages. | Graydon Hoare | -2/+45 | |
| 2012-04-11 | Add vstore/evec/estr to compiler. | Graydon Hoare | -0/+2 | |
| 2012-04-10 | Generic classes and generic class methods work cross-crate | Tim Chevalier | -14/+41 | |
| Classes can have ty params now. So can methods inside classes. That was probably true before, but now it should still work if you call methods in a class that's defined in a different crate. Yay! | ||||
| 2012-04-09 | rustc: Add more creader logging | Brian Anderson | -0/+17 | |
| 2012-04-08 | Check metadata hash when loading transitive dependent crates | Haitao Li | -24/+33 | |
| Fix issue #2138 | ||||
| 2012-04-08 | Check version when resolving transitive dependent crates | Haitao Li | -6/+12 | |
| Issue #2138 | ||||
| 2012-04-08 | Encode crate dependencies' hash and version data | Haitao Li | -26/+57 | |
| 2012-04-07 | Use version and hash in crate_map name | Haitao Li | -1/+15 | |
| Related issue #2137 | ||||
| 2012-04-07 | Use real crate name in crate_map name | Haitao Li | -1/+5 | |
| `use` statement may introduce an crate name alias. This patch always uses the link attrbute "name" as the crate's name when building the crate map. Closes #1706 | ||||
| 2012-04-06 | Re-rename option functions | Tim Chevalier | -15/+15 | |
| 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-06 | Convert old-style for loops to new-style | Marijn Haverbeke | -65/+61 | |
| 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-06 | rustc: Warn when linking to multiple versions of the same crate | Brian Anderson | -23/+67 | |
| This is not something most people want to be doing and may be a source of error. | ||||
| 2012-04-06 | rustc: Fail when there are multiple matches for 'use' | Brian Anderson | -6/+28 | |
| 2012-04-05 | add static region and also fix regions to be contravariant | Niko Matsakis | -0/+3 | |
| 2012-04-05 | rustc: Don't assume that all crates with the same name are the same | Brian Anderson | -21/+59 | |
| 2012-04-04 | wip: refactor repr of regions | Niko Matsakis | -17/+46 | |
| - we now distinguish bound/free parameters (see region-param test case for why this is necessary) - we also track bounds on region variables - also, restructure fold_ty() to have multiple variants without duplication instead of one overloaded folder. This also allows for using block functions. | ||||
| 2012-04-02 | Rename some core::option functions | Tim Chevalier | -15/+15 | |
| 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-29 | rustc: Remove the rustsyntax::attr wrapper in front | Brian Anderson | -3/+3 | |
| 2012-03-29 | rustc: Remove the session dependency from front::attr | Brian Anderson | -1/+1 | |
| 2012-03-29 | Require "self" as base expression for intra-class method or field references | Tim Chevalier | -6/+0 | |
| All field or method references within a class must begin with "self." now. A bare reference to a field or method in the same class will no longer typecheck. | ||||
| 2012-03-28 | Allow explicit self-calls within classes | Tim Chevalier | -28/+31 | |
| Allow writing self.f() within a class that has a method f. In a future commit, this syntax will be required. For now, you can write either self.f() or f(). I added a "privacy" field to all methods (whether class methods or not), which allowed me to refactor the AST somewhat (getting rid of the class_item type; now there's just class_member). | ||||
| 2012-03-27 | Enforce mutability declarations in classes; correct shapes for classes | Tim Chevalier | -4/+24 | |
| 1. Enforce mutability declarations on class fields. Don't allow any mutation of class fields not declared as mutable (except inside the constructor). 2. Handle classes correctly in shape (treat classes like records). | ||||
| 2012-03-26 | Bulk-edit mutable -> mut. | Graydon Hoare | -30/+30 | |
| 2012-03-26 | rustc: Begin eliminating ext's dependency on the session | Brian Anderson | -9/+6 | |
| 2012-03-26 | Enforce privacy declarations for class fields and methods | Tim Chevalier | -35/+36 | |
| 2012-03-23 | Implement new inference algorithm. | Niko Matsakis | -5/+18 | |
| 2012-03-23 | Handle self correctly when translating classes | Tim Chevalier | -1/+1 | |
| This change uses the same code for handling the "self" reference for classes as is already used for impls/ifaces. This allows removing the extra maybe_self_id argument (which was just for classes) to trans_closure that I added before. I also rewrote the translation for class ctors so that it doesn't generate new AST nodes (instead translating directly). Also changed visit so that it visits class ctors correctly with visit_fn, and changed typestate to not do return-checking when visiting a class ctor. | ||||
| 2012-03-23 | rustc: Redo region inference to be a bit less broken | Patrick Walton | -10/+10 | |
