summary refs log tree commit diff
path: root/src/comp/metadata/decoder.rs
AgeCommit message (Collapse)AuthorLines
2012-01-19rustc: "tag" -> "enum"Patrick Walton-2/+2
2012-01-18Remove '.' after nullary tags in patternsTim Chevalier-3/+3
Does what it says on the tin. The next commit will remove support for this syntax.
2012-01-17encode variant names and have log print them out.Niko Matsakis-2/+3
2012-01-11Fix dependency bug iface-did-of-impl resolvingMarijn Haverbeke-12/+1
By simply not resolving that def id until the typeck pass. Closes #1494
2012-01-11Major clean-up of std::ioMarijn Haverbeke-0/+1
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-11Fix regression in resolving of external implsMarijn Haverbeke-4/+4
2012-01-10Support explicit discriminant numbers on tag variants.Kevin Atkinson-1/+19
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-05Clean up translating of def_ids in metadata readerMarijn Haverbeke-70/+65
Reduces the amount of closure allocation, and makes the code cleaner.
2012-01-05Get external interfaces / impls workingMarijn Haverbeke-49/+72
Issue #1227
2012-01-05Write the iface type of an impl in the crate dataMarijn Haverbeke-1/+19
Also, move checking of ifaces into the collect phase of typeck to give further passes some guarantees. Issue #1227
2012-01-02Box arrays of parameter boundsMarijn Haverbeke-4/+4
2012-01-02Check that type parameter bounds are interface typesMarijn Haverbeke-5/+2
Issue #1227
2011-12-29Box ty_param_bounds_and_tyMarijn Haverbeke-1/+1
It contains a vector, which shouldn't be copied all the time.
2011-12-28Change representation of type params to handle interface boundsMarijn Haverbeke-48/+33
Issue #1227
2011-12-23Use the same type of record in ty::ty_fn and ty::methodMarijn Haverbeke-6/+3
Removes some more code duplication.
2011-12-20rustc: Implement re-export of renamed modulesHaitao Li-1/+0
Issue #1115
2011-12-19Associate names with types introduced by itemsMarijn Haverbeke-2/+10
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-16Finish resolving and calling of crate-external implsMarijn Haverbeke-2/+48
Issue #1227
2011-12-16reorder args to the various vec, option fns so blk comes lastNiko Matsakis-1/+0
2011-12-16rustc: Implement non-renamed re-export across cratesHaitao Li-8/+3
First patch for issue #1115. Not yet ready for re-exported modules which are renamed when importing them.
2011-12-15rustc: Box tag variants to avoid copiesBrian Anderson-1/+1
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-1/+2
2011-12-12rustc: Encode crate hash into metadataHaitao Li-3/+11
2011-11-18Preparation for kind system overhaulMarijn Haverbeke-3/+3
This goes before a snapshot, so that subsequenct patches can make the transition without breaking the build. Disables kind checking pass, makes parser accept both new and old-style kind annotation. Issue #1177
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-10Cleanup unused importsHaitao Li-2/+0
2011-10-21Remove last uses of iterators from stdlibMarijn Haverbeke-25/+20
Issue #1056
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-2/+2
2011-10-12reimplement some of the unsafe stuff which got lostNiko Matsakis-0/+4
- blocks inherit unsafety - remove the --check-unsafe flag - add unsafe annotations where needed to get things to compile
2011-10-12make native functions markable as unsafe and incorporate thatNiko Matsakis-1/+3
into the type check
2011-10-12add 'u' to one other place it was missingNiko Matsakis-0/+1
2011-10-12add 'u' to decoder (kinda' important)Niko Matsakis-0/+1
2011-10-12Extend the unchecked block stuff to allow unsafe blocks as well.Niko Matsakis-0/+1
2011-09-12Factor imports mindlessly.Graydon Hoare-9/+3
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-30/+30
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-02Reformat. Issue #855Brian Anderson-41/+32
2011-09-01Convert all uses of #ifmt to #fmt. Issue #855Brian Anderson-4/+4
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-11/+11
2011-09-01Remove std::str. Issue #855Brian Anderson-1/+0
2011-08-31Convert uses of #fmt to #ifmt. Issue #855Brian Anderson-12/+9
2011-08-27Convert misc compiler bits to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-2/+6
2011-08-27Convert rustc::metadata to istrs. Issue #855Brian Anderson-29/+32
2011-08-27Convert ast::ident to istr. Issue #855Brian Anderson-4/+4
2011-08-27Convert portions of rustc to istrs. Recover a lot of performance.Brian Anderson-1/+2
Issue #855
2011-08-27Convert std::io to istrs. Issue #855Brian Anderson-11/+16
2011-08-24Change "pred" to "pure fn" (but still accept "pred")Tim Chevalier-1/+1
This is part 1 of changing the "pred" keyword to "pure fn". Right now, the compiler accepts both "pred" and "pure fn".
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-1/+2
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-20ReformatBrian Anderson-47/+46
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-1/+1
This should make the compilation process a bit less noisy.