summary refs log tree commit diff
path: root/src/rustc/metadata/encoder.rs
AgeCommit message (Collapse)AuthorLines
2012-07-09Tag re-exports differently in metadataTim Chevalier-3/+8
so that the "list metadata" command doesn't print out anything about intrinsics, but other code can see them. Closes #2771
2012-07-09Switch 'cont' to 'again' everywhere. Close #2229.Graydon Hoare-2/+2
2012-07-09Fix metadata serialization of foreign functions. Properly take the value of ↵Josh Matthews-1/+1
foreign functions from other crates to fix #1840.
2012-07-06Plumbing and parsing for item-position macros.Eric Holk-0/+2
2012-07-05Change 'iface' to 'trait' internally; parse `trait` as `iface` synonymLindsey Kuper-14/+14
2012-07-04Remove empty argument lists from do expressionsBen Striegel-14/+14
2012-07-02rustc: Implement a new resolve pass behind a compile flagPatrick Walton-0/+4
2012-07-01Convert to new closure syntaxBrian Anderson-53/+53
2012-06-30Eliminate usages of old sugared call syntaxBrian Anderson-19/+19
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-53/+53
2012-06-28Replaced almost all vector+ in rustc (#2719)Eric Holk-18/+26
Didn't update shape because the changes were causing segfaults.
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-17/+18
This comes with a terminology change. All linkage-symbols are 'extern' now, including rust syms in other crates. Some extern ABIs are merely "foreign". The term "native" is retired, not clear/useful. What was "crust" is now "extern" applied to a _definition_. This is a bit of an overloading, but should be unambiguous: it means that the definition should be made available to some non-rust ABI.
2012-06-26Getting rid of lots more vector +=. (issue #2719)Eric Holk-15/+16
2012-06-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-75/+77
2012-06-25Add class fields to the global indexTim Chevalier-5/+5
Closes #2192
2012-06-24Remove resourcesTim Chevalier-39/+0
Also fixed shapes for classes with dtors, as well as handling offsets for classes with dtors correctly in take glue. Closes #2485
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-2/+1
2012-06-20Remove bind. Issue #2189Brian Anderson-3/+3
2012-06-13Allow impls to be re-exportedTim Chevalier-5/+9
It was a little hard for me to believe, but it seems that re-exporting an impl doesn't work at a, because encoder::encode_info_for_mod requires that all the impls in the current module's impl map be local (that is, bound to a value in the current crate's item map). Fixed it. Closes #2414.
2012-06-13Box AST identsBrian Anderson-38/+39
2012-06-12Handle class destructors correctly in metadataTim Chevalier-14/+24
This allows destructors to be inlined, which is necessary since classes can have both ty params and destructors.
2012-06-04better support for classes with polymorphic methodsNiko Matsakis-1/+1
2012-05-26core: Make range follow the for loop protocolBrian Anderson-1/+1
2012-05-25Get rid of many implicit copies as a preliminary to Issue #2448.Michael Sullivan-3/+3
2012-05-21rustc: Move ast_map to the syntax crateBrian Anderson-1/+1
2012-05-19rustc: Remove dead code in encoderBrian Anderson-3/+1
2012-05-17Refactor encoder::encode_module_item_pathsTim Chevalier-62/+57
to eliminate some repeated code.
2012-05-17Annotate or fix FIXMEs in LLVM bindings and metadata codeTim Chevalier-5/+1
Fixed up a few FIXMEs in lib/llvm to use more descriptive data types. Covered FIXMEs in metadata::{creader, csearch, decoder} and one in encoder.
2012-05-16rustc: Break another dependency between metadata and resolveBrian Anderson-33/+27
2012-05-16rustc: Break a dependency between metadata and resolveBrian Anderson-16/+10
2012-05-15Generate drop glue correctly for classes with destructorsTim Chevalier-2/+7
2012-05-14rustc: Break some of metadata's dependencies on sessionBrian Anderson-8/+16
2012-05-14rustc: Break metadata's dependency on linkBrian Anderson-2/+6
2012-05-14rustc: Eliminate metadata's dependency on astencodeBrian Anderson-4/+4
2012-05-14rustc: Eliminate encoder's dependency on astencodeBrian Anderson-12/+20
2012-05-14rustc: Move astencode from metadata to middleBrian Anderson-0/+1
2012-05-14First cut at dtors for classesTim Chevalier-3/+6
Classes with dtors should compile now. Haven't yet tested whether they actually run correctly. Beginnings of support for #2295, though that won't be done until there's more test cases and resources are removed.
2012-05-13rustc: Eliminate metadata's dependency on transBrian Anderson-37/+69
2012-05-08Start parsing pub/priv on regular itemsMarijn Haverbeke-15/+15
Issue #1893
2012-05-02Remove commented-out code and old comments that accidentally snuck inTim Chevalier-22/+1
2012-05-02Encode the ifaces a class implements in metadataTim Chevalier-20/+71
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-04-25lots of work to make iface/impls parameterized by regionsNiko Matsakis-4/+6
- 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-25More slice use in vec, io, str, ebml, metadata encoder and decoder.Graydon Hoare-3/+3
2012-04-23rustc: Eliminate trans dependency from metadata::tyencodeBrian Anderson-6/+11
2012-04-23Allow classes to be cast to ifaces that are in the same crateTim Chevalier-3/+1
I had to xfail one existing test case (class-implements-int) because, I think, of the same bug described in #2272.
2012-04-23Move map iface over to more `for`-friendly iteration methodsMarijn Haverbeke-1/+1
2012-04-19make nominal types optionally parameterized by a self region.Niko Matsakis-21/+33
Issue #2201.
2012-04-18Stop duplicating non-generic resource destructorsMarijn Haverbeke-0/+3
Closes #2177
2012-04-11Allow classes to implement ifacesTim 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-10Generic classes and generic class methods work cross-crateTim Chevalier-12/+14
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!