about summary refs log tree commit diff
path: root/src/rustc/metadata/encoder.rs
AgeCommit message (Collapse)AuthorLines
2012-07-13Support prefix notation for vstore strings. Closes #2906.Michael Sullivan-6/+6
2012-07-13Refactor how impl self types are storedTim Chevalier-1/+3
In order to avoid a confusing use of the tcache, I added an extra node ID field to trait refs. Now trait refs have a "ref ID" (the one that resolve3 resolves) and an "impl ID" (the one that you look up in the tcache to get the self type). Closes #2434
2012-07-13Front-end support for default impls in traits.Lindsey Kuper-6/+15
2012-07-11infer when types are region parameterized rather than requiring /&Niko Matsakis-20/+20
- removes various fields from various variants in the AST - also update tests not to use this notation
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