about summary refs log tree commit diff
path: root/src/libsyntax/opt_vec.rs
AgeCommit message (Collapse)AuthorLines
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-7/+7
2013-04-10Issue #5656: Make &self not mean "&'self self"Niko Matsakis-0/+11
Fixes #5656. Fixes #5541.
2013-04-09Cleanup substitutions and treatment of generics around traits in a number of ↵Niko Matsakis-0/+10
ways. - In a TraitRef, use the self type consistently to refer to the Self type: - trait ref in `impl Trait<A,B,C> for S` has a self type of `S`. - trait ref in `A:Trait` has the self type `A` - trait ref associated with a trait decl has self type `Self` - trait ref associated with a supertype has self type `Self` - trait ref in an object type `@Trait` has no self type - Rewrite `each_bound_traits_and_supertraits` to perform substitutions as it goes, and thus yield a series of trait refs that are always in the same 'namespace' as the type parameter bound given as input. Before, we left this to the caller, but this doesn't work because the caller lacks adequare information to perform the type substitutions correctly. - For provided methods, substitute the generics involved in the provided method correctly. - Introduce TypeParameterDef, which tracks the bounds declared on a type parameter and brings them together with the def_id and (in the future) other information (maybe even the parameter's name!). - Introduce Subst trait, which helps to cleanup a lot of the repetitive code involved with doing type substitution. - Introduce Repr trait, which makes debug printouts far more convenient. Fixes #4183. Needed for #5656.
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-21/+21
2013-03-22syntax: replace uses of old deriving attribute with new oneAndrew Paseltiner-1/+1
2013-03-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-1/+1
notation. rs=delifetiming
2013-03-11librustc: Replace all uses of `fn()` with `&fn()`. rs=defunPatrick Walton-10/+10
2013-03-01Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-5/+13
2013-03-01Avoid calling to_vec() unnecessarily in parser.Niko Matsakis-5/+13
Also, rename the OptVec-to-vector conversion method to opt_vec::take_vec() and convert from a method into a fn because I fear strange bugs.
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-0/+187
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-0/+187
Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846