summary refs log tree commit diff
path: root/src/rustc/metadata
AgeCommit message (Collapse)AuthorLines
2012-03-27Enforce mutability declarations in classes; correct shapes for classesTim Chevalier-4/+24
1. Enforce mutability declarations on class fields. Don't allow any mutation of class fields not declared as mutable (except inside the constructor). 2. Handle classes correctly in shape (treat classes like records).
2012-03-26Bulk-edit mutable -> mut.Graydon Hoare-30/+30
2012-03-26rustc: Begin eliminating ext's dependency on the sessionBrian Anderson-9/+6
2012-03-26Enforce privacy declarations for class fields and methodsTim Chevalier-35/+36
2012-03-23Implement new inference algorithm.Niko Matsakis-5/+18
2012-03-23Handle self correctly when translating classesTim Chevalier-1/+1
This change uses the same code for handling the "self" reference for classes as is already used for impls/ifaces. This allows removing the extra maybe_self_id argument (which was just for classes) to trans_closure that I added before. I also rewrote the translation for class ctors so that it doesn't generate new AST nodes (instead translating directly). Also changed visit so that it visits class ctors correctly with visit_fn, and changed typestate to not do return-checking when visiting a class ctor.
2012-03-23rustc: Redo region inference to be a bit less brokenPatrick Walton-10/+10
2012-03-23Keep an explicit map of things that have to be spilledMarijn Haverbeke-1/+10
This prevents us from spilling locals more than once. Closes #2040
2012-03-23Remove last vestiges of old-style intrinsicsMarijn Haverbeke-20/+1
Closes #2048
2012-03-23Revert removal of intrinsicsMarijn Haverbeke-1/+20
Oops. We can't do this yet until the next snapshot.
2012-03-23Rename builtin back to intrinsicMarijn Haverbeke-1/+1
As per Graydon's request Issue #1981
2012-03-23Remove support for the old-style intrinsicsMarijn Haverbeke-19/+0
Closes #2042 Closes #1981
2012-03-23Implement built-in native modules as an alternative to intrinsicsMarijn Haverbeke-1/+12
Issue #1981
2012-03-22Make cross-crate calls to class methods workTim Chevalier-20/+96
2012-03-21add mut decls to rustc and make them mandatoryNiko Matsakis-69/+72
2012-03-21methods workTim Chevalier-15/+34
Cross-crate method calls don't work yet. Added run-pass/class-method-cross-crate to test that, but it's xfailed References to fields within methods don't work yet. Added run-pass/class-methods to test that, but it's also xfailed
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-20stdlib: Implement arenasPatrick Walton-2/+2
2012-03-20Class methods WIPTim Chevalier-96/+140
In particular, use the ast::method type to represent a class method, and try to reuse as much iface code as possible. (This makes sense now since I'll be allowing polymorphic class methods.)
2012-03-20Revert order of arguments to option::maybe and from_maybeMarijn Haverbeke-1/+1
Closes #2019
2012-03-20Move external-reachability checker to transMarijn Haverbeke-153/+5
Preparation for a fix for issue #2020
2012-03-19core: Move unsafe conversions to str::unsafeBrian Anderson-1/+1
2012-03-16Encode both private and public class fields in metadataTim Chevalier-14/+5
This is necessary to calculate the correct offsets for field references. Simple cross-crate class tests (still with fields only) now pass.
2012-03-16Fix encoding of class ctorsTim Chevalier-22/+22
Class tests still fail at runtime
2012-03-16Classes WIPTim Chevalier-20/+221
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-2/+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-15kill old serialization codeNiko Matsakis-9189/+0
2012-03-15switch over to using new serialize/deserialize codeNiko Matsakis-20/+148
2012-03-15Remove tests from astencode.rsMarijn Haverbeke-116/+0
They mysteriously fail on Windows, and Niko assures me this code is about be replaced anyway.
2012-03-15Properly recognize external intrinsicsMarijn Haverbeke-9/+30
2012-03-15Only write metadata for items that actually appear in the root ASTMarijn Haverbeke-31/+39
Not for imported ASTs from inlined items.
2012-03-15Make sure enum and resource constructors are inlined properlyMarijn Haverbeke-20/+43
2012-03-15Make sure resource destructors are properly monomorphizedMarijn Haverbeke-7/+26
2012-03-15Remove a large part of the tydesc-passing codeMarijn Haverbeke-2/+3
2012-03-15Rename dict to vtable throughout the compilerMarijn Haverbeke-33/+34
The difference went away.
2012-03-15Hugely simplify iface handlingMarijn Haverbeke-2/+8
With the assumption of monomorphization
2012-03-15Stop generating generic versions of generic functionsMarijn Haverbeke-4/+8
Monomorphic instances are generated on demand.
2012-03-15Fix assumption that monomorphized method's impls are crate-localMarijn Haverbeke-2/+21
2012-03-15Write out the AST for all externally-reachable genericsMarijn Haverbeke-2/+3
2012-03-14Convert *u8 native string users to *c_charBrian Anderson-3/+3
2012-03-14core: Rename str::from_cstr et. al to from_bufBrian Anderson-1/+1
2012-03-14std: Rename the hashmap constructors to conform to new standardsBrian Anderson-16/+16
Instead of using the new_ prefix just name them after their type
2012-03-14rustc: Lift the @ from the type definition of crate_ctxt into its usesPatrick Walton-4/+4
This will make it easier to convert crate_ctxt into a region pointer, since there are functions that return crate contexts. There would be no way to type these functions if crate_ctxt had to be an inferred region pointer.
2012-03-14adjust auto_serialize to generate fns named serialize_T()Niko Matsakis-6/+6
We used to generate a module T with a serialize() and deserialize() fn, but this was suboptimal for a number of reasons: - it required moving serialization into core so that uint etc worked - it was harder to override the serialization behavior locally (this is now trivial)
2012-03-13implement deserialization, rename mk_mem_buffer() to mem_buffer()Niko Matsakis-4/+4
2012-03-13first (functional) version of the auto_serialize syntax extNiko Matsakis-14/+15
2012-03-13rustc: Get reference typedefs workingPatrick Walton-0/+1
2012-03-13Name types after their modules instead of 't'Brian Anderson-16/+16
2012-03-13Overhaul constructor naming in libsBrian Anderson-40/+40