Jens Nockert
2ed1cfc912
And I forgot to run the benchmarks after rebasing
2013-07-08 20:22:19 +02:00
Niko Matsakis
50e95ea481
Fix pretty printer, which was ignoring ref
in irrefutable patterns
2013-07-08 13:55:10 -04:00
Jens Nockert
1aae28a57d
Replaces the free-standing functions in f32, &c.
...
The free-standing functions in f32, f64, i8, i16, i32, i64, u8, u16,
u32, u64, float, int, and uint are replaced with generic functions in
num instead.
If you were previously using any of those functions, just replace them
with the corresponding function with the same name in num.
Note: If you were using a function that corresponds to an operator, use
the operator instead.
2013-07-08 18:05:17 +02:00
Daniel Micay
641aec7407
remove some method resolve workarounds
2013-07-07 19:51:13 -04:00
Huon Wilson
f19fb2459f
Remove standalone comparison functions in vec, make the trait impls better.
2013-07-04 00:46:50 +10:00
Huon Wilson
eee6775642
Implement consuming iterators for ~[], remove vec::{consume, consume_reverse, map_consume}.
2013-07-04 00:46:49 +10:00
Huon Wilson
c0a20d2929
Remove vec::{map, mapi, zip_map} and the methods, except for .map, since this
...
is very common, and the replacement (.iter().transform().collect()) is very
ugly.
2013-06-30 21:59:44 +10:00
Huon Wilson
a890c2cbf1
Convert vec::{rposition, rposition_elem, position_elem, contains} to methods.
2013-06-30 21:15:24 +10:00
bors
e23934645a
auto merge of #7466 : thestinger/rust/passes, r=cmr
2013-06-28 16:49:49 -07:00
Daniel Micay
2bdc88b652
copy the optimization passes from clang
2013-06-28 18:18:09 -04:00
Corey Richardson
8f5cb92f89
Fix threadring
2013-06-28 10:47:59 -04:00
Patrick Walton
a1531ed946
librustc: Remove the broken overloaded assign-ops from the language.
...
They evaluated the receiver twice. They should be added back with
`AddAssign`, `SubAssign`, etc., traits.
2013-06-28 10:44:16 -04:00
Patrick Walton
f9b54541ee
librustc: Disallow "mut" from distributing over bindings.
...
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-28 10:44:15 -04:00
Patrick Walton
1c0aa78481
librustc: Change "Owned" to "Send" everywhere
2013-06-28 10:44:15 -04:00
Huon Wilson
32d655916f
Convert vec::{reserve, reserve_at_least, capacity} to methods.
2013-06-28 00:40:47 +10:00
Huon Wilson
d0512b1055
Convert vec::[mut_]slice to methods, remove vec::const_slice.
2013-06-27 22:36:09 +10:00
bors
eda5e40b79
auto merge of #7111 : brson/rust/stack, r=brson
...
... through yields
This avoids the following pathological scenario that makes threadring OOM:
1) task calls C using fast_ffi, borrowing a big stack from the scheduler.
2) task returns from C and places the big stack on the task-local stack segment list
3) task calls further Rust functions that require growing the stack, and for this reuses the big stack
4) task yields, failing to return the big stack to the scheduler.
5) repeat 500+ times and OOM
(reopening after incoming fallout. *do not r+*. broken)
2013-06-26 20:40:31 -07:00
Brian Anderson
8918461fc4
rt: Release big stacks immediately after use to avoid holding on to them through yields
...
This avoids the following pathological scenario that makes threadring OOM:
1) task calls C using fast_ffi, borrowing a big stack from the scheduler.
2) task returns from C and places the big stack on the task-local stack segment list
3) task calls further Rust functions that require growing the stack, and for this reuses the big stack
4) task yields, failing to return the big stack to the scheduler.
5) repeat 500+ times and OOM
Conflicts:
src/rt/rust_task.cpp
2013-06-26 15:18:36 -07:00
bors
22408d9ad5
auto merge of #7269 : luqmana/rust/drop, r=thestinger
...
Finally rename finalize to drop.
Closes #4332 .
2013-06-25 20:29:06 -07:00
Luqman Aden
ca2966c6d0
Change finalize -> drop.
2013-06-25 21:14:39 -04:00
Daniel Micay
e67c48a591
remove each
from vec, HashMap and HashSet
2013-06-25 16:28:02 -04:00
Matthijs Hofstra
6762754d5b
Updated shootout-fasta.rs copyright years, removed stuff that caused lint to complain.
2013-06-23 23:21:35 +02:00
Matthijs Hofstra
66fd3c9e5d
Fixed shootout-fasta.rs output
2013-06-23 23:21:35 +02:00
Matthijs Hofstra
de64ff20ab
Added missing copyright notice to shootout-spectralnorm.
2013-06-23 23:21:35 +02:00
Matthijs Hofstra
b306f9fa40
Changed shootout-chameneos-redux output to conform to the 'official' output format.
2013-06-23 23:21:35 +02:00
Matthijs Hofstra
3b1ace9f9b
Updated copyright year on shootout-binarytrees.rs
2013-06-23 23:21:34 +02:00
Matthijs Hofstra
a4a8a4ac27
Fixed os:: and int:: not being in scope, changed io::println to println
2013-06-23 23:21:34 +02:00
Daniel Micay
d2e9912aea
vec: remove BaseIter implementation
...
I removed the `static-method-test.rs` test because it was heavily based
on `BaseIter` and there are plenty of other more complex uses of static
methods anyway.
2013-06-23 02:05:20 -04:00
Daniel Micay
49c74524e2
vec: rm old_iter implementations, except BaseIter
...
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-21 03:20:22 -04:00
Daniel Micay
cbad1da3db
vec: remove eachi
...
replaced by the `enumerate` method from std::iterator
2013-06-21 03:20:22 -04:00
Brian Anderson
303d7bfc87
test: xfail bench/task-perf-one-million. OOM on 32-bit linux w/o opts
2013-06-18 13:29:31 -07:00
Niko Matsakis
eb48c29681
Add copies to type params with Copy bound
2013-06-16 12:47:36 -04:00
Daniel Micay
7f00ab3df1
fix benchmark and the tutorials
2013-06-16 01:19:43 -04:00
Daniel Micay
d68be89e69
rm MutableIter
...
replaced with mutable implementations of Iterator
2013-06-14 23:15:42 -04:00
Daniel Micay
8111701604
rm ExtendedMutableIter
...
replaced with `xs.mut_iter().enumerate()`
2013-06-14 23:15:42 -04:00
Daniel Micay
585f5f7f79
add IteratorUtil to the prelude
2013-06-14 23:15:42 -04:00
Huon Wilson
abadece3ba
std: remove the invalid NullTerminatedStr instance for &'static str.
...
A slice of a 'static str is still 'static, but doesn't necessarily
have the null terminator.
2013-06-13 14:12:08 +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
Daniel Micay
004816f4c6
option: remove redundant old_iter impls
2013-06-11 14:06:12 -04:00
Huon Wilson
1553874149
std: convert str::reserve* to methods, and methodise str::push_*.
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
c32fb53cf9
std: remove str::{len, slice, is_empty} in favour of methods.
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
de367157b5
remove deprecated vec::{is_empty, len} functions
2013-06-08 23:19:30 -04:00
Huon Wilson
513d2292e5
std: remove foldr and alli methods in vec
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
54d914a9a9
std: remove each[i]_mut functions, in favour of iterators.
2013-06-08 03:24:27 +10:00
Huon Wilson
f661a15b2b
std: remove vec::each2 and vec::each2_mut in favour of iterators
2013-06-08 01:20:47 +10: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
Philipp Brüschweiler
34ee63e93b
std::cell: Modernize constructors
...
Part of #3853
2013-06-04 12:03:58 +02:00