summary refs log tree commit diff
path: root/src/rustc/metadata/tyencode.rs
AgeCommit message (Collapse)AuthorLines
2012-07-05Change 'iface' to 'trait' internally; parse `trait` as `iface` synonymLindsey Kuper-2/+2
2012-07-01Convert to new closure syntaxBrian Anderson-12/+12
2012-06-30Eliminate usages of old sugared call syntaxBrian Anderson-2/+2
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-1/+1
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-1/+1
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-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-1/+1
2012-06-24Remove resourcesTim Chevalier-8/+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-14Further work on integer literal suffix inference (#1425)Lindsey Kuper-2/+1
In this commit: * Change the lit_int_unsuffixed AST node to not carry a type, since it doesn't need one * Don't print "(unsuffixed)" when pretty-printing unsuffixed integer literals * Just print "I" instead of "(integral)" for integral type variables * Set up trans to use the information that will be gathered during typeck to construct the appropriate constants for unsuffixed int literals * Add logic for handling int_ty_sets in typeck::infer * Clean up unnecessary code in typeck::infer * Add missing mk_ functions to middle::ty * Add ty_var_integral to a few of the type utility functions it was missing from in middle::ty
2012-06-13Box AST identsBrian Anderson-2/+2
2012-06-12Introduce an unboxed_vec typeMichael Sullivan-0/+1
2012-06-02Add ty_var_integral (WIP on issue #1425).Lindsey Kuper-0/+6
2012-05-30integrate purity into typeNiko Matsakis-1/+11
2012-05-24Teach parser and related things to understand const kind bounds.Eric Holk-0/+1
2012-05-17Refactoring, annotating FIXMEs in remainder of metadata codeTim Chevalier-21/+21
2012-05-14rustc: Break some of metadata's dependencies on sessionBrian Anderson-2/+3
2012-05-09reduce self type to a special type parameterNiko Matsakis-4/+3
2012-04-25lots of work to make iface/impls parameterized by regionsNiko Matsakis-4/+4
- 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-26/+26
2012-04-23rustc: Eliminate trans dependency from metadata::tyencodeBrian Anderson-5/+7
2012-04-19make nominal types optionally parameterized by a self region.Niko Matsakis-25/+43
Issue #2201.
2012-04-16rewrite region resolution so it takes place in typeckNiko Matsakis-6/+1
2012-04-11Add enough tyencode stuff to stop faulting when we hit error messages.Graydon Hoare-2/+30
2012-04-11Add vstore/evec/estr to compiler.Graydon Hoare-0/+2
2012-04-06Convert old-style for loops to new-styleMarijn Haverbeke-13/+13
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-05add static region and also fix regions to be contravariantNiko Matsakis-0/+3
2012-04-04wip: refactor repr of regionsNiko Matsakis-16/+43
- 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-03-23Implement new inference algorithm.Niko Matsakis-4/+11
2012-03-23rustc: Redo region inference to be a bit less brokenPatrick Walton-10/+10
2012-03-21add mut decls to rustc and make them mandatoryNiko Matsakis-5/+5
2012-03-21rustc: Introduce re_params into the typecheckerPatrick Walton-1/+3
This is the first step of the region refactoring I need to do in order to handle named regions properly.
2012-03-16Classes WIPTim Chevalier-3/+8
Cross-crate metadata for classes works well enough that programs with classes in other crates compile successfully, but output wrong results. Checking in work so far to avoid merge hassles. (Tests are xfailed.)
2012-03-16Remove shared tydescsMarijn Haverbeke-1/+0
All tydescs are static now, there's no need to worry about marshalling them between threads anymore.
2012-03-15rustc: Create self region bindings, and forbid the self region from being ↵Patrick Walton-0/+3
used in places it shouldn't be
2012-03-13implement deserialization, rename mk_mem_buffer() to mem_buffer()Niko Matsakis-1/+1
2012-03-13rustc: Get reference typedefs workingPatrick Walton-0/+1
2012-03-12Libc/os/run/rand/io reorganization. Close #1373. Close #1638.Graydon Hoare-1/+0
- Move io, run and rand to core. - Remove incorrect ctypes module (use libc). - Remove os-specific modules for os and fs. - Split fs between core::path and core::os.
2012-03-08rustc: Add regions to the type systemPatrick Walton-0/+18
2012-03-02Move src/comp to src/rustcGraydon Hoare-0/+303