about summary refs log tree commit diff
path: root/src/rustc/metadata/astencode.rs
AgeCommit message (Collapse)AuthorLines
2012-07-05Remove duplicate, un-used copy of astencodeTim Chevalier-940/+0
2012-07-05Change 'iface' to 'trait' internally; parse `trait` as `iface` synonymLindsey Kuper-5/+5
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-15/+15
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-5/+5
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-11/+11
2012-05-31Rename librustsyntax to libsyntaxKevin Cantu-1/+1
Per issue #2418.
2012-05-16pull out id visitor into ast_util from astencodeNiko Matsakis-0/+940
2012-05-14rustc: Move astencode from metadata to middleBrian Anderson-1093/+0
2012-05-14First cut at dtors for classesTim Chevalier-0/+7
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 a simple dependency from metadata modBrian Anderson-1/+1
2012-05-13rustc: Eliminate some indirection to the syntax crateBrian Anderson-1/+1
2012-05-13rustc: Eliminate metadata's dependency on transBrian Anderson-10/+8
2012-05-09implement new borrow ck (disabled by default)Niko Matsakis-4/+6
2012-05-07make it illegal to implicitly capture mutable variablesNiko Matsakis-2/+1
this is the final part of #1273
2012-04-23rustc: Eliminate trans dependency from metadata::tyencodeBrian Anderson-1/+1
2012-04-23encode the borrowing table, add a simple cross-crate borrowing testNiko Matsakis-0/+8
2012-04-20Log decoded inline_items when debug is active.Graydon Hoare-0/+7
2012-04-19make nominal types optionally parameterized by a self region.Niko Matsakis-5/+16
Issue #2201.
2012-04-18syntax: Put the main parser interface in mod parseBrian Anderson-4/+4
2012-04-10Generic classes and generic class methods work cross-crateTim Chevalier-2/+27
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!
2012-04-06Re-rename option functionsTim Chevalier-13/+13
get_with_default (nee from_maybe) => get_default with_option (nee maybe) => map_default with_option_do (nee may) => iter As per discussion of 21be1379d561b6679a8a2ea47dce88f948c5acca
2012-04-06Convert old-style for loops to new-styleMarijn Haverbeke-1/+1
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-02Rename some core::option functionsTim Chevalier-13/+13
from_maybe => get_with_default maybe => with_option may => with_option_do I know these names are kind of ridiculous, but it's the best I could think of. Feel free to bikeshed. Closes #2081
2012-03-29Require "self" as base expression for intra-class method or field referencesTim Chevalier-6/+0
All field or method references within a class must begin with "self." now. A bare reference to a field or method in the same class will no longer typecheck.
2012-03-28Allow explicit self-calls within classesTim Chevalier-4/+3
Allow writing self.f() within a class that has a method f. In a future commit, this syntax will be required. For now, you can write either self.f() or f(). I added a "privacy" field to all methods (whether class methods or not), which allowed me to refactor the AST somewhat (getting rid of the class_item type; now there's just class_member).
2012-03-26Bulk-edit mutable -> mut.Graydon Hoare-6/+6
2012-03-26rustc: Begin eliminating ext's dependency on the sessionBrian Anderson-9/+6
2012-03-23Implement new inference algorithm.Niko Matsakis-0/+1
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-23Keep an explicit map of things that have to be spilledMarijn Haverbeke-1/+9
This prevents us from spilling locals more than once. Closes #2040
2012-03-23Implement built-in native modules as an alternative to intrinsicsMarijn Haverbeke-0/+6
Issue #1981
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-15Make sure enum and resource constructors are inlined properlyMarijn Haverbeke-0/+1
2012-03-15Make sure resource destructors are properly monomorphizedMarijn Haverbeke-0/+4
2012-03-15Rename dict to vtable throughout the compilerMarijn Haverbeke-32/+33
The difference went away.
2012-03-15Hugely simplify iface handlingMarijn Haverbeke-1/+7
With the assumption of monomorphization
2012-03-15Fix assumption that monomorphized method's impls are crate-localMarijn Haverbeke-1/+0
2012-03-14std: Rename the hashmap constructors to conform to new standardsBrian Anderson-1/+1
Instead of using the new_ prefix just name them after their type
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-1/+1
2012-03-13first (functional) version of the auto_serialize syntax extNiko Matsakis-14/+15
2012-03-13Overhaul constructor naming in libsBrian Anderson-6/+6
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-09rustc: Add region def ids to the ASTPatrick Walton-1/+2
2012-03-09Revert "rustc: Create def IDs for region parameters"Patrick Walton-2/+1
This reverts commit 0d4cb759494f9589ba57c4f2c41f5a5737ab74e0.
2012-03-09rustc: Create def IDs for region parametersPatrick Walton-1/+2
2012-03-08Properly serialize is_last_use valuesMarijn Haverbeke-3/+21
They were all normalized to the same thing by the serializer.
2012-03-08Explicitly store self_ids use for self locals in methodsMarijn Haverbeke-1/+4
This makes it possible to move them between crates without confusion, and to instantiate them at a point where the monomorphizing substitutions are known. Issue #1944
2012-03-08Drop collect_items pass, create decls on demandMarijn Haverbeke-1/+1
This solves a problem with inlined functions that have inner functions.