bors
cd656c74f6
auto merge of #8439 : huonw/rust/hashset-clone, r=cmr
...
Closes #5581 .
2013-08-14 02:38:19 -07:00
bors
7585b34d31
auto merge of #8446 : alexcrichton/rust/ifmt++, r=graydon
...
This includes a number of improvements to `ifmt!`
* Implements formatting arguments -- `{:0.5x}` works now
* Formatting now works on all integer widths, not just `int` and `uint`
* Added a large doc block to `std::fmt` which should help explain what `ifmt!` is all about
* Added floating point formatters, although they have the same pitfalls from before (they're just proof-of-concept now)
Closed a couple of issues along the way, yay! Once this gets into a snapshot, I'll start looking into removing all of `fmt`
2013-08-13 19:23:21 -07:00
Alex Crichton
36882b3d54
Add f formats to ifmt!
...
Currently the work just the same as the old `extfmt` versions
2013-08-13 19:16:40 -07:00
bors
9f379329db
auto merge of #8475 : kmcallister/rust/stack_segment, r=brson,brson
...
Servo needs to tell SpiderMonkey about the stack bounds.
r? @brson
2013-08-13 14:57:24 -07:00
Keegan McAllister
4fd5318594
Make rt::stack public
...
Fixes #8478 .
2013-08-13 09:10:07 -07:00
bors
0d817ee869
auto merge of #8423 : alexcrichton/rust/less-priv-again, r=bstrie
...
Closes #5495
2013-08-13 07:26:23 -07:00
bors
f02cc6bf0a
auto merge of #8411 : bblum/rust/assorted-fixes, r=brson
...
Each commit is pretty much what it says on the tin. r anybody.
2013-08-13 04:59:20 -07:00
bors
4601ea65f8
auto merge of #8487 : brson/rust/local-opts, r=brson
...
I did this once but acciddentally undid it in a later patch.
2013-08-12 23:56:26 -07:00
Alex Crichton
930885d5e5
Forbid pub/priv where it has no effect
...
Closes #5495
2013-08-12 23:20:46 -07:00
Alex Crichton
27b4d104c8
Explain what ifmt! is all about
2013-08-12 23:18:51 -07:00
Alex Crichton
1f6afa887b
Correct the padding on integer types for formatting
2013-08-12 23:18:51 -07:00
Alex Crichton
6feb58ed84
Define integer formats for all widths
...
Closes #1653
2013-08-12 23:18:51 -07:00
Alex Crichton
b820748ff5
Implement formatting arguments for strings and integers
...
Closes #1651
2013-08-12 23:18:51 -07:00
Brian Anderson
95badabaaf
std: Re-optimize tls access on local allocation path
...
I did this once but acciddentally undid it in a later patch.
2013-08-12 22:30:32 -07:00
bors
44675ac6af
auto merge of #8476 : thestinger/rust/snapshot, r=brson
2013-08-12 20:29:22 -07:00
bors
59da4e0bc9
auto merge of #8419 : cmr/rust/fix-rtdebug, r=brson
...
It now actually does logging, and is compiled out when `--cfg rtdebug` is not
given to the libstd build, which it isn't by default. This makes the rt
benchmarks 18-50% faster.
2013-08-12 15:28:49 -07:00
Daniel Micay
0cb0ef2ca5
fix build with the new snapshot compiler
2013-08-12 17:37:46 -04:00
Keegan McAllister
2145de8c8f
rt::task: Make current_stack_segment public
...
Servo needs to tell SpiderMonkey about the stack bounds.
2013-08-12 13:54:40 -07:00
Ben Blum
5ac8c57bd4
Clean up transitionary glue in task/spawn.rs. Don't hold kill-little-lock for O(n) time, cf #3100 , and optimize out several unneeded clone()s.
2013-08-12 15:20:02 -04:00
bors
35040275b3
auto merge of #8400 : blake2-ppc/rust/seq-ord, r=cmr
...
Use Eq + Ord for lexicographical ordering of sequences.
For each of <, <=, >= or > as R, use::
[x, ..xs] R [y, ..ys] = if x != y { x R y } else { xs R ys }
Previous code using `a < b` and then `!(b < a)` for short-circuiting
fails on cases such as [1.0, 2.0] < [0.0/0.0, 3.0], where the first
element was effectively considered equal.
Containers like &[T] did also implement only one comparison operator `<`,
and derived the comparison results from this. This isn't correct either for
Ord.
Implement functions in `std::iterator::order::{lt,le,gt,ge,equal,cmp}` that all
iterable containers can use for lexical order.
We also visit tuple ordering, having the same problem and same solution
(but differing implementation).
2013-08-12 11:53:18 -07:00
Ben Blum
ce48e71d28
Fix select() in light of the deschedule...and then race. Close #8347 .
2013-08-12 13:54:21 -04:00
Ben Blum
31f9b51592
Make cell with_ref/with_mut_ref use finally. Close #7975 .
2013-08-12 13:54:21 -04:00
Ben Blum
c8c09d40fc
Reorganise Select traits to not expose internal runtime types. Close #5160 . Pending #8215 .
2013-08-12 13:54:21 -04:00
Ben Blum
ee5cfb0c2d
Don't use unkillable in UnsafeArc dtor when there's no unwrapper. Close #8382 .
2013-08-12 13:19:17 -04:00
bors
ecfc9a8223
auto merge of #8428 : blake2-ppc/rust/peekable-iterators, r=thestinger
...
Peekable changes by @SimonSapin and original PR is #8396
2013-08-12 04:29:11 -07:00
bors
b285f1e6c9
auto merge of #8455 : nikomatsakis/rust/issue-5762-objects-dralston-d, r=graydon
...
Fix #5762 and various other aspects of object invocation.
r? @graydon
2013-08-11 14:17:09 -07:00
Niko Matsakis
df016dc4bf
Update type visitor to use &Visitor and not @Visitor
2013-08-11 14:01:23 -04:00
Niko Matsakis
6fe59bf877
Add a field borrow_offset to the type descriptor indicating
...
what amount a T* pointer must be adjusted to reach the contents
of the box. For `~T` types, this requires knowing the type `T`,
which is not known in the case of objects.
2013-08-11 13:59:45 -04:00
bors
45da2a5f48
auto merge of #8412 : thestinger/rust/vector-add, r=alexcrichton
2013-08-11 04:11:08 -07:00
Daniel Micay
83b3a0eaf1
fix unused imports
2013-08-11 03:17:01 -04:00
Daniel Micay
774c9aebb3
move strdup_uniq lang item to std::str
2013-08-11 03:14:35 -04:00
Daniel Micay
768c9a43ab
str: optimize with_capacity
...
before:
test bench_with_capacity ... bench: 104 ns/iter (+/- 4)
after:
test bench_with_capacity ... bench: 56 ns/iter (+/- 1)
2013-08-11 03:14:35 -04:00
Daniel Micay
2afed31ecc
vec: optimize the Add implementation
...
before:
test add ... bench: 164 ns/iter (+/- 1)
after:
test add ... bench: 113 ns/iter (+/- 2)
2013-08-11 03:14:35 -04:00
Daniel Micay
7db605cd15
disable 64-bit CheckedMul on 32-bit
...
code generation problem reported as issue #8449
2013-08-11 02:58:52 -04:00
Daniel Micay
076b91f8ad
add intrinsics for checked overflow add/sub/mul
2013-08-11 02:51:20 -04:00
bors
eebcff1493
auto merge of #8404 : stepancheg/rust/zero-unit-inline, r=alexcrichton
...
Follow-up to #8155
2013-08-10 19:53:06 -07:00
Simon Sapin
deb7b67aa1
Add a "peekable" iterator adaptor, with a peek() method that returns the next element.
2013-08-11 02:18:21 +02:00
blake2-ppc
b44f423dd4
std::iterator: Rename .peek() to .inspect()
2013-08-11 01:57:20 +02:00
Erick Tryzelaar
4e92faad13
Merge branch 'trie-bound-iters' of https://github.com/dim-an/rust into rollup
2013-08-10 13:01:20 -07:00
Erick Tryzelaar
e48ca19bc5
std: fix the non-stage0 str::raw::slice_bytes which broke in a merge
2013-08-10 07:33:22 -07:00
Erick Tryzelaar
6fcf2ee8e3
std: Transform.find_ -> .find
2013-08-10 07:33:22 -07:00
Erick Tryzelaar
f9dee04aaa
std: Iterator.len_ -> .len
2013-08-10 07:33:22 -07:00
Erick Tryzelaar
74d2552b0a
std: Iterator.last_ -> .last
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
1db62d8311
std: Iterator.chain_ -> .chain
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
60c2661684
std: Iterator.flat_map_ -> .flat_map
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
24d2cd0ef4
std: Iterator.take_ -> .take
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
68f40d215e
std: Rename Iterator.transform -> .map
...
cc #5898
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
4062b84f4a
std: merge Iterator and IteratorUtil
2013-08-10 07:02:17 -07:00
Erick Tryzelaar
a6614621af
std: merge iterator::DoubleEndedIterator and DoubleEndedIteratorUtil
2013-08-10 07:01:08 -07:00
Erick Tryzelaar
fad7857c7b
Mass rename of .consume{,_iter}() to .move_iter()
...
cc #7887
2013-08-10 07:01:07 -07:00