Commit Graph

18918 Commits

Author SHA1 Message Date
bors 78cddc83a4 auto merge of #7073 : influenza/rust/iterator-doc-fixes, r=catamorphism
This commit fixes two typos and an incorrect description.
2013-06-12 12:13:53 -07:00
bors 135ba946a2 auto merge of #7064 : luqmana/rust/issue-7062, r=sanxiyn
Fixes #7062
2013-06-12 01:19:38 -07:00
Luqman Aden aa9a992f3e libsyntax: Remove duplicate methods. 2013-06-12 02:46:38 -04:00
Luqman Aden 47772bcb73 Add tests for duplicate methods on traits/impls. 2013-06-12 02:46:38 -04:00
Luqman Aden c6f3103006 librustc: Don't allow duplicate methods on impls. 2013-06-12 02:46:38 -04:00
Luqman Aden 8fc14b6e62 librustc: Don't allow duplicate methods on a trait. 2013-06-12 02:46:38 -04:00
bors 4a52ff0786 auto merge of #7072 : thestinger/rust/ptr, r=catamorphism
I don't think this will even show up in the documentation right now.... but it should still be correct :).
2013-06-11 22:31:39 -07:00
bors cc80652e4a auto merge of #7060 : huonw/rust/more-str, r=thestinger
There are now only half-a-dozen or so functions left `std::str` that should be methods.

Highlights:
- `.substr` was removed, since most of the uses of it in the code base were actually incorrect (it had a weird mixing of a byte index and a unicode character count), adding `.slice_chars` if one wants to handle characters, and the normal `.slice` method to handle bytes.
- Code duplication between the two impls for `connect` and `concat` was removed via a new `Str` trait, that is purely designed to allow an explicit -> `&str` conversion (`.as_slice()`)
- Deconfuse the 5 different functions for converting to `[u8]` (3 of which had actually incorrect documentation: implying that they didn't have the null terminator), into 3: `as_bytes` (all strings), `as_bytes_with_null` (`&'static str`, `@str` and `~str`) and `as_bytes_with_null_consume` (`~str`). None of these allocate, unlike the old versions.

(cc @thestinger)
2013-06-11 21:37:43 -07:00
bors 7033dfcf91 auto merge of #7069 : dotdash/rust/cast_combine, r=graydon
Shaves off a percent or so from the LLVM passes for librustc.
2013-06-11 20:43:39 -07:00
Huon Wilson 9f0c85acc9 std: fix windows 2013-06-12 13:42:41 +10:00
Huon Wilson 13460de61c std: fix method renaming. 2013-06-12 13:09:02 +10:00
bors 8761b1fb16 auto merge of #7067 : brson/rust/notasktrans, r=graydon 2013-06-11 19:37:39 -07:00
Huon Wilson eecbe5556b Silence some warnings. 2013-06-12 12:21:05 +10:00
Huon Wilson 26d7b460a3 std: generalise .trim_chars to use CharEq. 2013-06-12 12:21:05 +10:00
Huon Wilson 073e82fff2 std: create Str trait for DRY. Use it on StrVector.
The Str trait collects the various strings types and provides a method
for coercing to a slice, so that functions and impls can be written for
generic types containing strings (e.g. &[~str], &[&str], ...) without
having to write one for each string type (assuming that the impl only
needs a slice).
2013-06-12 12:21:04 +10:00
Huon Wilson 3a1e13c7a0 std: convert str::escape_* to methods. 2013-06-12 12:21:04 +10:00
Huon Wilson 9e60e2e297 std: convert str::replace to a method. 2013-06-12 12:21:04 +10:00
Huon Wilson 12750c8893 std: methodise str::capacity 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 9fff8c6eba std: add a test for HashMap::find_equiv. 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 ba4a4778cc std: convert str::{*shift,pop}* to methods. 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 3c23a0a836 std: replace str::append with 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 e06579bc09 auto merge of #7056 : alexcrichton/rust/issue-4727, r=catamorphism
Closes #4727
2013-06-11 17:22:46 -07:00
Ron Dahlgren 37489a67e5 Iterator documentation fixes
Fixes two typos and one incorrect description.
2013-06-11 16:34:03 -07: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 fbae011ad1 fix the docstring for copy_nonoverlapping_memory 2013-06-11 19:06:01 -04:00
Daniel Micay 107e371bf0 fix the ptr::set_memory docstring 2013-06-11 17:48:44 -04:00
bors 1175e94de3 auto merge of #7033 : influenza/rust/rust-7022, r=graydon
This commit fixes #7022 - I've added an additional check to ensure that
stk is not null before dereferencing it to get it's next element,
assigning NULL if it is itself NULL.
2013-06-11 14:40:48 -07:00
bors da9172af60 auto merge of #7040 : alexcrichton/rust/issue-6511-threadsafe-llvm, r=graydon
This is a reopening of #6570, and almost fixes #6511.

Note that this doesn't actually enable building a threadsafe LLVM, because that will require an LLVM rebuild which will be bundled with the upgrades in #6713.

What this does do, however, is removes all thread-unsafe usage of LLVM from the compiler.
2013-06-11 13:46:54 -07:00
Björn Steinbrink f526434197 Codegen: Combine two PointerCasts into one
Shaves off a percent or so from the LLVM passes for librustc.
2013-06-11 22:45:13 +02:00
Ron Dahlgren 37c8558895 Replace tabs with spaces 2013-06-11 13:10:41 -07:00
Alex Crichton 78404af882 Ignore the test_package_request_version test for now 2013-06-11 12:40:53 -07:00
Alex Crichton 305f5110a7 Add a finally impl for `extern "Rust" fn()` 2013-06-11 12:40:40 -07:00
Brian Anderson 48c7bc17c6 rustc: Remove task type defs from trans 2013-06-11 12:36:42 -07:00
Daniel Micay bbe3d4a9dc fix windows build 2013-06-11 15:00:58 -04:00
Daniel Micay 004816f4c6 option: remove redundant old_iter impls 2013-06-11 14:06:12 -04:00
Daniel Micay 4f2f545ac2 add Iterator implementations for Option 2013-06-11 14:05:27 -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
Ron Dahlgren 301f9001c0 Assert stk rather than checking null
Given that a big stack is never requested before allocating an initial
stack segment, having a non-null stk member here is an invariant.
2013-06-11 10:11:49 -07:00
bors d1d855993d auto merge of #7047 : bblum/rust/bug_triage, r=graydon
r? anybody
2013-06-11 09:52:40 -07:00
bors bf41586a18 auto merge of #7058 : Blei/rust/fix-7048, r=bstrie 2013-06-11 08:01:50 -07:00
Philipp Brüschweiler 3f62f9bccd ty: several small fixes to is_instantiable
* Don't return early, so logging is not skipped
* Remove one allocation
* Indent the match statement correctly
2013-06-11 11:44:53 +02:00
Philipp Brüschweiler 278b3beafe decoder: better error message when failing to look up an id 2013-06-11 11:44:53 +02:00
Philipp Brüschweiler 1ac90bb74b lexer: show correct span on unrecognized token start
Fixes part of #7048.
2013-06-11 11:44:53 +02:00
bors 075da9c3e9 auto merge of #7050 : huonw/rust/extra-complex-work, r=Aatch 2013-06-11 00:22:34 -07:00
bors 6bdd4c8545 auto merge of #7054 : yichoi/rust/after_jemalloc, r=brson
jemalloc searches pthread_atfork
2013-06-10 23:28:34 -07:00
Young-il Choi febba9f418 rt: dummy function pthread_atfork for android 2013-06-11 14:52:15 +09:00