about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-06-16auto merge of #7123 : huonw/rust/more-str, r=thestingerbors-11/+7
Moves all the remaining functions that could reasonably be methods to be methods, except for some FFI ones (which I believe @erickt is working on, possibly) and `each_split_within`, since I'm not really sure the details of it (I believe @kimundi wrote the current implementation, so maybe he could convert it to an external iterator method on `StrSlice`, e.g. `word_wrap_iter(&self) -> WordWrapIterator<'self>`, where `WordWrapIterator` impls `Iterator<&'self str>`. It probably won't be too hard, since it's already a state machine.) This also cleans up the comparison impls for the string types, except I'm not sure how the lang items `eq_str` and `eq_str_uniq` need to be handled, so they (`eq_slice` and `eq`) remain stand-alone functions.
2013-06-15auto merge of #7149 : thestinger/rust/vec, r=graydonbors-7/+0
2013-06-15auto merge of #7114 : pnkfelix/rust/issue3961-fix-whitespace-detection, r=brsonbors-14/+23
r? (yes, the review request is back, now that I got it building against incom... I mean master!) (Attempting to port from orphaned pull-request #6764 ) Fix for #3961. Also includes a test case to illustrate the issues. (All of the entries that say "should align" should align with each other, and the four lines near the end that say "compare _" for _ in {A,B,C,D} should line up with each other.) Before applying this change set: -- the "(should align)"'s are all over the place, and the form/line feeding spaces are not cut out as one might or might not expect. -- compare B and D do not match A and C. (To be honest, its hard to really say what the right behavior is here, and people who are expecting a particular behavior out of a pretty printer in these cases may well get burned.)
2013-06-16remove unused importsHuon Wilson-3/+1
2013-06-15rm CopyableOrderedIterDaniel Micay-7/+0
replaced with OrdIterator
2013-06-16std: convert str::{map,levdistance,subslice_offset} to methods.Huon Wilson-8/+6
The first two become map_chars and lev_distance. Also, remove a few allocations in rustdoc.
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-18/+0
2013-06-14add IteratorUtil to the preludeDaniel Micay-18/+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-14fixed code to placate new restrictions on form of function/method invocations.Felix S. Klock II-1/+1
2013-06-13Revert "std: convert {vec,str}::to_owned to methods."Brian Anderson-8/+16
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-13Fix #3961 : use char range methods instead of byte offsets to detect whitespace.Felix S. Klock II-14/+23
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-451/+432
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-337/+323
2013-06-12libsyntax: Remove duplicate methods.Luqman Aden-7/+0
2013-06-12std: convert str::escape_* to methods.Huon Wilson-3/+2
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-11/+9
2013-06-11option: remove redundant old_iter implsDaniel Micay-23/+36
2013-06-11lexer: show correct span on unrecognized token startPhilipp Brüschweiler-1/+5
Fixes part of #7048.
2013-06-11fix tests, remove some warningsHuon Wilson-7/+2
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-22/+15
2013-06-10clean-up unused import warningsHuon Wilson-3/+1
2013-06-10std: convert str::char_at* to methods.Huon Wilson-2/+2
2013-06-10std: convert str::reserve* to methods, and methodise str::push_*.Huon Wilson-19/+19
2013-06-10std: replace str::{any,all}_between with the iterator equivalent.Huon Wilson-1/+1
2013-06-10std: convert character-based str::find_* to methods. Add .slice_{to,from} ↵Huon Wilson-6/+5
methods.
2013-06-10std: remove str::{len, slice, is_empty} in favour of methods.Huon Wilson-13/+12
2013-06-10std: replace str::all/any fns and methods with iteratorsHuon Wilson-1/+2
2013-06-10std: replace str::each_split* with an iteratorHuon Wilson-6/+5
2013-06-08remove deprecated vec::{is_empty, len} functionsDaniel Micay-5/+5
2013-06-08auto merge of #7004 : dotdash/rust/allocs, r=thestingerbors-44/+60
This removes some unnecessary allocations in the lexer, the typechecker and the metadata decoder. Reduces the time spent in the parsing and typechecking passes by about 10% for me.
2013-06-09remove unused import warningsHuon Wilson-16/+11
2013-06-09std: replace the str::each* fns/methods with byte iteratorsHuon Wilson-1/+2
2013-06-09std: remove each_char* fns and methods from str, replaced by iterators.Huon Wilson-2/+3
2013-06-09std: remove foldr and alli methods in vecHuon Wilson-7/+9
2013-06-09std: remove fold[lr] in favour of iteratorsHuon Wilson-12/+12
2013-06-08Lexer: Fix offset handling in get_str_from()Björn Steinbrink-10/+8
As the comment said, the subtraction is bogus for multibyte characters. Fortunately, we can just use last_pos instead of pos to get the correct position without any subtraction hackery.
2013-06-08Lexer: Avoid unnecessary allocationsBjörn Steinbrink-42/+57
2013-06-08Avoid unnecessary (re-)allocations in the lexerBjörn Steinbrink-7/+8
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