Brian Anderson
7755018074
Revert "std: convert {vec,str}::to_owned to methods."
...
This fixes the strange random crashes in compile-fail tests.
This reverts commit 96cd61ad03 .
Conflicts:
src/librustc/driver/driver.rs
src/libstd/str.rs
src/libsyntax/ext/quote.rs
2013-06-13 19:06:47 -07:00
Huon Wilson
26d7b460a3
std: generalise .trim_chars to use CharEq.
2013-06-12 12:21:05 +10:00
Huon Wilson
9e60e2e297
std: convert str::replace to a method.
2013-06-12 12:21:04 +10:00
Huon Wilson
3ac00a9489
std: remove substr & str::count_*, methodise char_len, implement slice_chars.
...
The confusing mixture of byte index and character count meant that every
use of .substr was incorrect; replaced by slice_chars which only uses
character indices. The old behaviour of `.substr(start, n)` can be emulated
via `.slice_from(start).slice_chars(0, n)`.
2013-06-12 12:21:04 +10:00
Huon Wilson
efc71a8bdb
std: unify the str -> [u8] functions as 3 methods: .as_bytes() and .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-12 12:21:04 +10:00
Huon Wilson
8786bca7e2
std: convert str::repeat to a method.
2013-06-12 12:21:03 +10:00
Huon Wilson
96cd61ad03
std: convert {vec,str}::to_owned to methods.
2013-06-12 12:21:03 +10:00
bors
3f900dc7d1
auto merge of #7055 : thestinger/rust/iterator, r=catamorphism
...
This was a lot more painful than just changing `x.each` to `x.iter().advance` . I ran into my old friend #5898 and had to add underscores to some method names as a temporary workaround.
The borrow checker also had other ideas because rvalues aren't handled very well yet so temporary variables had to be added. However, storing the temporary in a variable led to dynamic `@mut` failures, so those had to be wrapped in blocks except where the scope ends immediately.
Anyway, the ugliness will be fixed as the compiler issues are fixed and this change will amount to `for x.each |x|` becoming `for x.iter |x|` and making all the iterator adaptors available.
I dropped the run-pass tests for `old_iter` because there's not much point in fixing a module that's on the way out in the next week or so.
2013-06-11 16:19:42 -07:00
Daniel Micay
004816f4c6
option: remove redundant old_iter impls
2013-06-11 14:06:12 -04:00
bors
d0b1979004
auto merge of #7035 : influenza/rust/getopts-doc-update, r=bstrie
...
The documentation was still refering to getopts as though it was in the
std module - I've changed this to refer to extra instead.
2013-06-11 10:46:37 -07:00
bors
d1d855993d
auto merge of #7047 : bblum/rust/bug_triage, r=graydon
...
r? anybody
2013-06-11 09:52:40 -07:00
Huon Wilson
19c31b6b1a
extra: implement .norm(), and Polar conversion functions for complex numbers.
...
Also, convert complex to use Clone, rather than Copy.
Fixes #5734 and #5735 .
2013-06-11 11:37:33 +10:00
Kevin Ballard
8f1edd5307
terminfo: Support more terminfo directory structures
...
OS X's terminfo uses the hex representation of the first character of
the terminal name as the directory name.
Ubuntu seems to use /lib/terminfo instead of /usr/share/terminfo, at
least on the one machine I have access to.
2013-06-10 15:52:10 -07:00
Ben Blum
d25fae0e10
Remove 'this could be clearer' FIXME. Looks fine. Close #2618 .
2013-06-10 17:51:02 -04:00
Huon Wilson
e8782eeb63
fix tests, remove some warnings
2013-06-11 02:34:14 +10:00
Huon Wilson
838191c40b
std: replace str::{starts,ends}_with with the method.
2013-06-11 01:03:24 +10:00
Huon Wilson
248b6e38b5
std: replace str::substr with the method.
2013-06-11 00:52:47 +10:00
Huon Wilson
ccd0ac59e9
std: remove str::{connect,concat}*.
2013-06-10 23:57:03 +10:00
Huon Wilson
5a711ea7c3
clean-up unused import warnings
2013-06-10 23:15:01 +10:00
Huon Wilson
ec5a028ada
std: convert str::char_at* to methods.
2013-06-10 23:02:55 +10:00
Huon Wilson
f632f46614
std: convert str::trim* to methods.
2013-06-10 23:02:55 +10:00
Huon Wilson
1553874149
std: convert str::reserve* to methods, and methodise str::push_*.
2013-06-10 23:02:55 +10:00
Huon Wilson
a64e886e3c
std: remove str::contains in favour of the method
2013-06-10 23:02:55 +10:00
Huon Wilson
017450a611
std: replace str::find_str* with a method
2013-06-10 23:02:54 +10:00
Huon Wilson
7281fb948a
std: replace str::{any,all}_between with the iterator equivalent.
2013-06-10 23:02:54 +10:00
Huon Wilson
c32fb53cf9
std: remove str::{len, slice, is_empty} in favour of methods.
2013-06-10 23:02:54 +10:00
Huon Wilson
b29cd22bce
std: replace str::all/any fns and methods with iterators
2013-06-10 23:02:54 +10:00
Huon Wilson
1e8982bdb2
std: replace str::each_split* with an iterator
2013-06-10 23:02:54 +10:00
Daniel Micay
86833ea286
cmp: remove duplicate free functions
2013-06-09 20:47:40 -04:00
Ron Dahlgren
9e4beaac9d
Fix all issues with sample code
...
The getopts sample program now compiles and runs. Additionally I made
all of the indentation uniformly four spaces.
2013-06-09 16:13:52 -07:00
Ron Dahlgren
983269e71a
Updated documentation to refer to extra module
...
The documentation was still refering to getopts as though it was in the
std module - I've changed this to refer to extra instead.
2013-06-09 15:45:55 -07:00
Daniel Micay
de367157b5
remove deprecated vec::{is_empty, len} functions
2013-06-08 23:19:30 -04:00
bors
470bf0dfb3
auto merge of #7016 : thestinger/rust/ptr, r=luqmana
2013-06-08 14:31:10 -07:00
bors
878a9b92eb
auto merge of #7004 : dotdash/rust/allocs, r=thestinger
...
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-08 13:37:10 -07:00
Daniel Micay
fe3ad0a204
rm some uses of to_mut_unsafe_ptr
2013-06-08 15:02:32 -04:00
Huon Wilson
98ba91f81b
remove unused import warnings
2013-06-09 02:22:23 +10:00
Huon Wilson
00f5916809
std: replace the str::each* fns/methods with byte iterators
2013-06-09 02:22:23 +10:00
Huon Wilson
4b806b4d06
std: remove each_char* fns and methods from str, replaced by iterators.
2013-06-09 02:22:23 +10:00
Huon Wilson
ed299af625
std: remove fold[lr] in favour of iterators
2013-06-09 02:22:23 +10:00
Huon Wilson
65c7c58c8f
std: remove {all*,any*,count} in favour of iterators
2013-06-09 02:22:23 +10:00
Huon Wilson
ce4f63dcee
std: add reverse vec iterators, replace vec::each*_reverse.
2013-06-09 02:22:23 +10:00
Björn Steinbrink
2096d79626
Avoid unnecessary allocations in the metadata decoder
2013-06-08 03:27:48 +02:00
Huon Wilson
54d914a9a9
std: remove each[i]_mut functions, in favour of iterators.
2013-06-08 03:24:27 +10:00
Michael Sullivan
8bbf83b62a
Clean up a handful of build warnings.
2013-06-06 12:14:41 -07:00
Alexei Sholik
e75572c879
Deduplicate words in code comments
2013-06-06 10:48:27 +03:00
Patrick Walton
8114d0e950
librustc: Disallow multiple patterns from appearing in a "let" declaration.
...
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04 21:45:42 -07:00
Patrick Walton
16086ecff7
libsyntax: Remove pub impl from the language
2013-06-04 21:45:42 -07:00
Philipp Brüschweiler
e1c1c059c6
std::io: Modernize some constructors
...
Part of #3853
2013-06-04 12:47:45 +02:00
Philipp Brüschweiler
34ee63e93b
std::cell: Modernize constructors
...
Part of #3853
2013-06-04 12:03:58 +02:00
bors
8a43b318bf
auto merge of #6826 : cmr/rust/terminfo, r=thestinger
...
This will let *everyone* (non-windows, at least) who can see colors see the glorious colors rustc produces.
2013-06-03 13:34:56 -07:00