summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2013-06-22Expand the deriving(ToStr) implementationAlex Crichton-11/+64
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-28/+28
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-5/+5
2013-06-16auto merge of #7142 : alexcrichton/rust/deriving-zero, r=pcwaltonbors-0/+98
This allows mass-initialization of large structs without having to specify all the fields. I'm a bit hesitant, but I wanted to get this out there. I don't really like using the `Zero` trait, because it doesn't really make sense for a type like `HashMap` to use `Zero` as the 'blank allocation' trait. In theory there'd be a new trait, but then that's adding cruft to the language which may not necessarily need to be there. I do think that this can be useful, but I only implemented `Zero` on the basic types where I thought it made sense, so it may not be all that usable yet. (opinions?)
2013-06-16remove unused importsHuon Wilson-2/+0
2013-06-14auto merge of #7121 : huonw/rust/rand-call, r=pnkfelixbors-3/+4
r? @pnkfelix
2013-06-14auto merge of #7110 : thestinger/rust/iterator, r=brsonbors-8/+0
2013-06-14add IteratorUtil to the preludeDaniel Micay-8/+0
2013-06-14auto merge of #7116 : thestinger/rust/whitespace, r=luqmanabors-1/+0
2013-06-14Implement a deriving(Zero) attributeAlex Crichton-0/+98
2013-06-13Revert "std: convert {vec,str}::to_owned to methods."Brian Anderson-7/+15
This fixes the strange random crashes in compile-fail tests. This reverts commit 96cd61ad034cc9e88ab6a7845c3480dbc1ea62f3. Conflicts: src/librustc/driver/driver.rs src/libstd/str.rs src/libsyntax/ext/quote.rs
2013-06-14syntax: revert the uint -> u32 "fix"; make the names/comment match.Huon Wilson-4/+4
2013-06-14syntax: correct the Rand::rand call to select enum variants in ↵Huon Wilson-4/+5
#[deriving(Rand)]. Previously, this was not a global call, and so when `#[deriving(Rand)]` was in any module other than the top-level one, it failed (unless there was a `use std;` in scope). Also, fix a minor inconsistency between uints and u32s for this piece of code.
2013-06-13automated whitespace fixesDaniel Micay-1/+0
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-221/+219
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-12Fix a test-predicated use of the visit.rs api.Felix S. Klock II-1/+1
2013-06-12Fix linebreak and whitespace issues to placate make tidy.Felix S. Klock II-1/+2
2013-06-12Visitor refactoring: Step 1, couple (Env, vt<Env>) together in a tuple.Felix S. Klock II-3/+3
2013-06-12std: unify the str -> [u8] functions as 3 methods: .as_bytes() and ↵Huon Wilson-9/+0
.as_bytes_with_null[_consume](). The first acts on &str and is not nul-terminated, the last two act on strings that are always null terminated (&'static str, ~str and @str).
2013-06-12std: convert {vec,str}::to_owned to methods.Huon Wilson-10/+8
2013-06-11option: remove redundant old_iter implsDaniel Micay-1/+3
2013-06-11fix tests, remove some warningsHuon Wilson-5/+2
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-14/+10
2013-06-10std: convert str::reserve* to methods, and methodise str::push_*.Huon Wilson-0/+3
2013-06-09remove unused import warningsHuon Wilson-10/+8
2013-06-09std: replace the str::each* fns/methods with byte iteratorsHuon Wilson-1/+2
2013-06-09std: remove foldr and alli methods in vecHuon Wilson-5/+6
2013-06-09std: remove fold[lr] in favour of iteratorsHuon Wilson-11/+10
2013-06-08std: remove each[i]_mut functions, in favour of iterators.Huon Wilson-3/+4
2013-06-08std: remove vec::each2 and vec::each2_mut in favour of iteratorsHuon Wilson-2/+3
2013-06-07syntax: correct the modifications to deriving(Ord) so that it works.Huon Wilson-30/+13
2013-06-07syntax: rewrite deriving(Ord) to not require Eq.Huon Wilson-57/+59
lt and gt are implement directly in terms of the corresponding method on their elements, and le and ge are the negations of these.
2013-06-07syntax: move expand_generic_deriving to be a method on TraitDefHuon Wilson-55/+37
2013-06-07syntax: move functions from deriving/mod to deriving/generic.Huon Wilson-277/+199
These are now only called in generic and can be private. This includes manually inlining/merging some that are called once.
2013-06-06Clean up a handful of build warnings.Michael Sullivan-11/+11
2013-06-05moved TLS of sctable to ast_util, hid parameter in hygiene callsJohn Clements-44/+28
2013-06-05add hygiene support functionsJohn Clements-4/+64
2013-06-05remove unused get_ident_interner'sJohn Clements-4/+3
2013-06-05removed unused imports (and one unused argument)John Clements-8/+5
2013-06-05remove interner from tt_readerJohn Clements-10/+3
2013-06-05remove unused cx'sJohn Clements-96/+96
2013-06-05token_to_ident takes argument by referenceJohn Clements-14/+14
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-57/+56
2013-06-05removed some interner fieldsJohn Clements-1/+1
2013-06-05just use TLS internerJohn Clements-46/+53
2013-06-05rename repr to nameJohn Clements-9/+9
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-115/+138
2013-06-05add renaming and sctable funsJohn Clements-1/+48
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-13/+27
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-01auto merge of #6896 : nickdesaulniers/rust/issue4501, r=brsonbors-24/+7
review? @brson