about summary refs log tree commit diff
path: root/src/libsyntax/ast.rs
AgeCommit message (Collapse)AuthorLines
2012-08-07Implement static typeclass methods. Closes #3132.Michael Sullivan-0/+2
2012-08-07rustc: Split out struct bodies into a separate "struct_def" type in the ASTPatrick Walton-9/+12
2012-08-07rustc: Add stub support for struct variants to the ASTPatrick Walton-1/+7
2012-08-07syntax: Rename expr_alt to expr_matchBrian Anderson-1/+1
2012-08-06rustc: Parse and stub (broken) typechecking for bounded function typesPatrick Walton-1/+1
2012-08-06rustc: Implement pattern matching for structsPatrick Walton-0/+1
2012-08-06make `ref x` bindings produce region ptrs and fix various minor bugsNiko Matsakis-1/+2
we now detect inconsistent modes, binding names, and various other errors. typeck/trans integration is mostly done. borrowck not so much. more tests needed.
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-1/+1
2012-08-06rustc: Implement functional record update for structsPatrick Walton-3/+1
2012-08-05Switch alts to use arrowsBrian Anderson-2/+2
2012-08-03rustc: Merge fn& and fn in favor of fn&.Patrick Walton-2/+1
This is a step on the way to moving the function "proto" sigil out front.
2012-08-03rustc: Parse and typecheck repeating vector expressions; e.g. [ 0, ..512 ]Patrick Walton-1/+4
2012-08-03rustc: Parse, serialize, and deserialize trait inheritancePatrick Walton-1/+1
2012-08-03rustc: Add the notion of inherited visibilityPatrick Walton-1/+1
2012-08-02Purge placement new; Make borrowck know about unary move.Niko Matsakis-5/+1
cc #3071
2012-08-02Extend ast_map to know about method declarations in traits.Michael Sullivan-1/+1
2012-07-31rustc: Parse by-reference pattern bindings with the "ref" keywordPatrick Walton-1/+7
2012-07-31rustc: Implement unary move. Closes #917.Patrick Walton-0/+1
2012-07-31rustc: Check self types in method lookup; allow required trait methods to ↵Patrick Walton-1/+2
have self types; write self types into metadata
2012-07-30libsyntax: Parse self types in methodsPatrick Walton-2/+13
2012-07-27rustc: Use coherence for operator overloading.Patrick Walton-0/+53
The only use of the old-style impls is now placement new.
2012-07-27Kill off another couple uses of the term 'mtcs'.Graydon Hoare-2/+2
2012-07-27early => earley. Oops.Graydon Hoare-1/+1
2012-07-27Make macro-system type and constructor names more uniform; more comments.Graydon Hoare-30/+56
2012-07-27Start killing off obsolete/unused quoters, and fix long lines.Graydon Hoare-6/+5
2012-07-27Comments in the new macro system, reflecting conversation with pauls.Graydon Hoare-4/+46
2012-07-27Correctly forbid upvars in nested impls, traits and classesTim Chevalier-0/+1
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-26rustc: Fix cross-crate max/min-class-style constructorsPatrick Walton-1/+1
2012-07-24rustc: Don't require that structs have constructorsPatrick Walton-1/+2
2012-07-24Bugfix: make the parser handle the case where zero repetitions occur, by ↵Paul Stansifer-2/+3
handling parse results on the basis of what names the matcher expects to bind, not on what names are actually bound.
2012-07-23rustc: Max/min classes: Add struct literal syntaxPatrick Walton-0/+5
2012-07-23syntax: Remove reference to typestate in a commentPatrick Walton-1/+1
2012-07-18syntax: Parse multiple trait refs in a single implementationPatrick Walton-2/+4
2012-07-17Support attributes on class ctors and dtorsTim Chevalier-0/+2
Closes #2660
2012-07-16introduce an owned kind for data that contains no borrowed ptrsNiko Matsakis-0/+1
2012-07-14remove typestate from code, tests, and docsNiko Matsakis-77/+1
2012-07-14Get rid of ast::ty_vstore, which was only used for fixed length.Michael Sullivan-1/+1
2012-07-14Move the world over to using the new style string literals and types. Closes ↵Michael Sullivan-3/+3
#2907.
2012-07-13Refactor how impl self types are storedTim Chevalier-2/+7
In order to avoid a confusing use of the tcache, I added an extra node ID field to trait refs. Now trait refs have a "ref ID" (the one that resolve3 resolves) and an "impl ID" (the one that you look up in the tcache to get the self type). Closes #2434
2012-07-13Front-end support for default impls in traits.Lindsey Kuper-1/+10
2012-07-12Obliterate the callee_id hackTim Chevalier-1/+2
Exprs that could be applications of overloaded operators (expr_unary, expr_binary, expr_index) relied on the previous node ID being "reserved" to carry extra typechecking info. This was incredibly error-prone. Fixed it; now all exprs have two node IDs (which will be wasted in some cases; future work could make this an option instead if the extra int field ends up being a performance problem). Closes #2804
2012-07-12Accept prefix notation for writing the types of str/~ and friends.Michael Sullivan-3/+3
2012-07-11infer when types are region parameterized rather than requiring /&Niko Matsakis-12/+5
- removes various fields from various variants in the AST - also update tests not to use this notation
2012-07-09Allow defining token tree macros. They should work now!Paul Stansifer-1/+1
2012-07-06For #2229, recognize 'again' in place of 'cont', final change pending snapshot.Graydon Hoare-1/+1
2012-07-06Plumbing and parsing for item-position macros.Eric Holk-0/+1
2012-07-05Add new syntax for interpolation and repetition, and allow the transcription ↵Paul Stansifer-1/+1
of separators.
2012-07-05Macro By Example transcription of token trees with interpolations and ↵Paul Stansifer-2/+2
dotdotdots.
2012-07-05Some rearranging in perparation for MBE-style TT transcription.Paul Stansifer-2/+7
2012-07-05Document matchers a little better.Paul Stansifer-1/+3