| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-03-02 | Move src/comp to src/rustc | Graydon Hoare | -766/+0 | |
| 2012-03-02 | emit mthd data if marked inline | Niko Matsakis | -11/+8 | |
| 2012-03-02 | restructure to better support method inlining | Niko Matsakis | -1/+1 | |
| 2012-02-28 | correct freevar encoding, add more debugging output | Niko Matsakis | -1/+1 | |
| 2012-02-24 | Encode/decode AST into metadata, re-instantiate inlined items | Niko Matsakis | -125/+138 | |
| 2012-02-21 | Include @ in crate_ctxt and fn_ctxt type definitions | Marijn Haverbeke | -2/+2 | |
| So that code using them doesn't have to spell it out constantly. | ||||
| 2012-02-14 | rustc: Add crust functions to the AST | Brian Anderson | -1/+6 | |
| 2012-02-13 | Remove some needlessly repetetive casts in metadata code | Marijn Haverbeke | -21/+16 | |
| 2012-02-13 | Track purity/unsafety of iface and impl methods | Marijn Haverbeke | -9/+8 | |
| Closes #1807 | ||||
| 2012-02-13 | add serialization library; convert ebml lib to use u64 internally | Niko Matsakis | -1/+1 | |
| 2012-02-10 | put serializer into the build and encode full item paths | Niko Matsakis | -12/+52 | |
| 2012-02-10 | update ebml interface | Niko Matsakis | -22/+21 | |
| 2012-02-07 | Minor class-related tweaks to the AST | Tim Chevalier | -2/+2 | |
| 2012-02-06 | Make ty::t type self-sufficient | Marijn Haverbeke | -1/+1 | |
| It is now no longer needed to have a ty::ctxt to get at the contents of a ty::t. The straight-forward approach of doing this, simply making ty::t a box type, unfortunately killed our compiler performance (~15% slower) through refcounting cost. Thus, this patch now represents ty::t as an unsafe pointer, assuming that the ty::ctxt, which holds these boxes alive, outlives any uses of the ty::t values. In the current compiler this trivially holds, but it is does of course add a new potential pitfall. ty::get takes a ty::t and returns a boxed representation of the type. I've changed calls to ty::struct(X) to do ty::get(X).struct. Type structs are full of vectors, and copying them every time we wanted to access them was a bit of a cost. | ||||
| 2012-02-03 | Beginnings of front-end support for classes | Tim Chevalier | -0/+6 | |
| 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 | -2/+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 | Require alts to be exhaustive | Tim Chevalier | -0/+3 | |
| middle::check_alt does the work. Lots of changes to add default cases into alts that were previously inexhaustive. | ||||
| 2012-01-30 | Substitute type parameters more eagerly | Marijn Haverbeke | -11/+11 | |
| This simplifies the typechecker a bit (no more ty_param_substs_opt_and_ty) and is needed for another experiment I'm playing with. I hope it also makes compilation faster (the bots will tell). | ||||
| 2012-01-27 | Merge remote-tracking branch 'killerswan/fixing_strings_2' | Brian Anderson | -2/+2 | |
| Conflicts: src/comp/driver/driver.rs src/comp/middle/trans/base.rs src/comp/syntax/parse/lexer.rs | ||||
| 2012-01-27 | Move various trans_ modules under a trans:: umbrella module | Marijn Haverbeke | -1/+1 | |
| Closes #1304 | ||||
| 2012-01-26 | Make re-exporting of impls work | Marijn Haverbeke | -17/+17 | |
| Closes #1438 | ||||
| 2012-01-26 | Remove ty_native_fn | Marijn Haverbeke | -6/+5 | |
| It was being used as a clumsy synonym of ty_fn. | ||||
| 2012-01-25 | (FIX) Change encoder::encode_metadata to return a [u8] (which will become an ↵ | Kevin Cantu | -2/+2 | |
| LLVM string) | ||||
| 2012-01-25 | Rename tag to enum throughout the compiler | Marijn Haverbeke | -10/+10 | |
| This should reduce confusion of people trying to read the code. | ||||
| 2012-01-23 | s/block()/fn()/g | Niko Matsakis | -1/+1 | |
| 2012-01-18 | Remove '.' after nullary tags in patterns | Tim Chevalier | -7/+7 | |
| Does what it says on the tin. The next commit will remove support for this syntax. | ||||
| 2012-01-17 | encode variant names and have log print them out. | Niko Matsakis | -0/+1 | |
| 2012-01-16 | Don't evaluate discriminator value constants when parsing. | Kevin Atkinson | -3/+6 | |
| Remove disr_val from ast::variant_ and always use ty::variant_info when the value is needed. Move what was done during parsing into other passes, primary typeck.rs. This move also correctly type checks the disr. value expression; thus, fixing rustc --pretty=typed when disr. values are used. | ||||
| 2012-01-13 | make "native fn" the type for bare functions, remove fn exprs | Niko Matsakis | -1/+1 | |
| 2012-01-13 | deprecate fn exprs and the fn() type, preferring fn@ and native fn | Niko Matsakis | -3/+3 | |
| 2012-01-13 | Obj system? What obj system? | Marijn Haverbeke | -32/+0 | |
| Removes the obj system from the compiler. Closes #1484 | ||||
| 2012-01-12 | Make driver::session::session no longer an object | Marijn Haverbeke | -1/+1 | |
| 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 | Fix dependency bug iface-did-of-impl resolving | Marijn Haverbeke | -7/+0 | |
| By simply not resolving that def id until the typeck pass. Closes #1494 | ||||
| 2012-01-11 | Major clean-up of std::io | Marijn Haverbeke | -13/+12 | |
| Use ifaces instead of objs, stop wrapping everything in two (or three) layers of no-value-added indirection, and remove some of the more pointless/outdated idioms from the code. | ||||
| 2012-01-10 | Support explicit discriminant numbers on tag variants. | Kevin Atkinson | -0/+12 | |
| Addresses issue #1393. For now disallow disr. values unless all variants use nullary contractors (i.e. "enum-like"). Disr. values are now encoded in the crate metadata, but only when it will differ from the inferred value based on the order. | ||||
| 2012-01-05 | Switch to new param kind bound syntax | Marijn Haverbeke | -1/+1 | |
| And remove support for the old syntax | ||||
| 2012-01-05 | Get external interfaces / impls working | Marijn Haverbeke | -14/+40 | |
| Issue #1227 | ||||
| 2012-01-05 | Write the iface type of an impl in the crate data | Marijn Haverbeke | -3/+16 | |
| Also, move checking of ifaces into the collect phase of typeck to give further passes some guarantees. Issue #1227 | ||||
| 2012-01-02 | Key tcx.ty_param_bounds on node_ids, not def_ids | Marijn Haverbeke | -1/+1 | |
| This makes it clearer that it's only valid for local nodes. | ||||
| 2011-12-28 | Change representation of type params to handle interface bounds | Marijn Haverbeke | -24/+22 | |
| Issue #1227 | ||||
| 2011-12-23 | Parse `iface` items and interface references in `impl` items. | Marijn Haverbeke | -3/+12 | |
| 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-22 | Unify some data structures in syntax::ast that were doing the same thing | Marijn Haverbeke | -24/+12 | |
| As a preparation to removing some duplication in typeck. | ||||
| 2011-12-22 | Add ty::new_ty_hash, clean up comparing of ty::t's | Marijn Haverbeke | -1/+1 | |
| 2011-12-20 | rustc: Re-export the same name in different namespaces | Haitao Li | -1/+2 | |
| Issue #1115. | ||||
| 2011-12-20 | rustc: Implement re-export of renamed modules | Haitao Li | -3/+5 | |
| Issue #1115 | ||||
| 2011-12-19 | Associate names with types introduced by items | Marijn Haverbeke | -0/+4 | |
| Issue #828 This is not a full solution yet. To really get sane error messages, we'll also have to guess the name to apply to literals, which seems non-trivial. | ||||
| 2011-12-16 | Finish resolving and calling of crate-external impls | Marijn Haverbeke | -19/+31 | |
| Issue #1227 | ||||
| 2011-12-16 | reorder args to the various vec, option fns so blk comes last | Niko Matsakis | -1/+1 | |
| 2011-12-16 | Write impl data to crate library files | Marijn Haverbeke | -1/+37 | |
| (No one is actually reading it yet.) Issue #1227 | ||||
