summary refs log tree commit diff
path: root/src/rustc/middle/astencode.rs
AgeCommit message (Collapse)AuthorLines
2012-10-07Remove the old serializers (needs snapshot)Erick Tryzelaar-46/+45
2012-10-07migrate libsyntax/rustc to auto_serialize2Erick Tryzelaar-86/+86
2012-10-05rustc: Add a new method_self method call origin. Part of default methods.Patrick Walton-0/+3
2012-10-05rustc: Implement simple uses of &traitPatrick Walton-2/+9
2012-10-03rustc: Implement "@Foo as @Bar" for boxed traitsPatrick Walton-2/+2
2012-10-02rustc: Add a side table for legacy boxed traits, not filled in.Patrick Walton-0/+8
This is part of the transition to "@int as @Trait".
2012-09-27core: More option demodingBrian Anderson-9/+9
2012-09-23core: Demode optionBrian Anderson-11/+11
2012-09-18libcore: make a copyless io::BytesWriterErick Tryzelaar-4/+5
2012-09-12fixup mutability of vec::each, make iter_bytes pureNiko Matsakis-1/+1
also, change DVec() to work with imm vectors rather than mut ones
2012-09-11Introduce auto adjustment table to subsume autoderef/autoref/borrowings.Niko Matsakis-33/+109
Fixes #3261 Fixes #3443
2012-09-10Camel case std::serializationBrian Anderson-7/+7
2012-09-10Convert std::map to camel caseBrian Anderson-1/+1
2012-09-08Fix some old syntaxBrian Anderson-2/+2
2012-09-04Remove 'with'Brian Anderson-17/+17
2012-09-04rustc: "import" -> "use"Patrick Walton-33/+33
2012-08-29std: Camel case some constructorsBrian Anderson-1/+1
2012-08-28CamelCasify lots of stdBen Striegel-25/+25
2012-08-26Camel case the option typeBrian Anderson-7/+7
2012-08-23`m1!{...}` -> `m1!(...)`Paul Stansifer-18/+18
2012-08-23Infer variance of types with respect to the region parameter.Niko Matsakis-4/+6
A similar approach could be used for type parameters. Fixes #2282.
2012-08-22intern identifiersPaul Stansifer-12/+15
2012-08-22Eliminate many match checks in rustcTim Chevalier-4/+6
2012-08-21more sound treatment of fn& regions; change all & to be distinctNiko Matsakis-2/+5
2012-08-17Make by-val explicit self actually work. Closes #2585.Michael Sullivan-1/+3
2012-08-17rustc: Remove the impl mapPatrick Walton-4/+0
2012-08-15rustc: Parse labeled loop, break, and againPatrick Walton-0/+1
2012-08-08Convert impls to new syntaxBrian Anderson-25/+17
2012-08-07Implement static typeclass methods. Closes #3132.Michael Sullivan-7/+10
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-10/+10
2012-08-05Switch alts to use arrowsBrian Anderson-44/+44
2012-08-02Purge placement new; Make borrowck know about unary move.Niko Matsakis-1/+1
cc #3071
2012-08-01Convert ret to returnBrian Anderson-5/+5
2012-07-31Change remaining "iface" occurrences to "trait"; deprecate "iface"Lindsey Kuper-2/+2
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-24/+24
2012-07-30Fix #2979: inference for lifetimes of & expressionsNiko Matsakis-18/+8
What we now do is to create a region variable for each & expression (and also each borrow). The lifetime of this variable will be checked by borrowck to ensure it is not greater than the lifetime of the underlying data. This both leads to shorter lifetimes in some cases but also longer in others, such as taking the address to the interior of unique boxes tht are rooted in region pointers (e.g., returning a pointer to the interior of a sendable map). This may lead to issue #2977 if the rvalue is not POD, because we may drop the data in trans sooner than borrowck expects us to. Need to work out precisely where that fix ought to occur.
2012-07-27rustc: Use coherence for operator overloading.Patrick Walton-9/+7
The only use of the old-style impls is now placement new.
2012-07-27Correctly forbid upvars in nested impls, traits and classesTim Chevalier-0/+3
Previously, resolve was allowing impls, traits or classes that were nested within a fn to refer to upvars, as well as referring to type parameters bound by the fn. Fixing this required adding a new kind of def: def_typaram_binder, which can refer to any of an impl, trait or class that has bound ty params. resolve uses this to enforce that methods can refer to their parent item's type parameters, but not to outer items' type parameters; other stages ignore it. I also made sure that impl, trait and class methods get checked inside a MethodRibKind thing so as to forbid upvars, and changed the definition of MethodRibKind so that its second argument is an optional node_id (so that required trait method signatures can be checked with a MethodRibKind as well).
2012-07-26Use iteration protocol for ebml, use vec::view in more places (issue #2880)Eric Holk-1/+1
2012-07-26rustc: Fix cross-crate max/min-class-style constructorsPatrick Walton-2/+2
2012-07-20Remove what's left of resolve1Tim Chevalier-1/+1
2012-07-17rustc: Implement and enforce instance coherencePatrick Walton-15/+78
2012-07-17Support attributes on class ctors and dtorsTim Chevalier-2/+7
Closes #2660
2012-07-14Move the world over to using the new style string literals and types. Closes ↵Michael Sullivan-11/+11
#2907.
2012-07-11infer when types are region parameterized rather than requiring /&Niko Matsakis-3/+3
- removes various fields from various variants in the AST - also update tests not to use this notation
2012-07-09Allow folds to drop items.Paul Stansifer-2/+2
2012-07-05Comments only: change TODOs to FIXMEs and annotate themTim Chevalier-1/+1
2012-07-05Change 'iface' to 'trait' internally; parse `trait` as `iface` synonymLindsey Kuper-6/+6
2012-07-04Remove empty argument lists from do expressionsBen Striegel-50/+50
2012-07-03Revert "Remove rule requiring non-nil block-style statements to be ↵Brian Anderson-1/+1
semi-terminated" This reverts commit 0f5eaef5fb2443acd3ea67250c953839c3d04d38.