summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2013-08-12auto merge of #8419 : cmr/rust/fix-rtdebug, r=brsonbors-12/+4
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-12fix build with the new snapshot compilerDaniel Micay-599/+16
2013-08-12rt::task: Make current_stack_segment publicKeegan McAllister-1/+1
Servo needs to tell SpiderMonkey about the stack bounds.
2013-08-12Clean up transitionary glue in task/spawn.rs. Don't hold kill-little-lock ↵Ben Blum-138/+69
for O(n) time, cf #3100, and optimize out several unneeded clone()s.
2013-08-12auto merge of #8400 : blake2-ppc/rust/seq-ord, r=cmrbors-70/+247
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-12Fix select() in light of the deschedule...and then race. Close #8347.Ben Blum-1/+23
2013-08-12Make cell with_ref/with_mut_ref use finally. Close #7975.Ben Blum-8/+8
2013-08-12Reorganise Select traits to not expose internal runtime types. Close #5160. ↵Ben Blum-313/+348
Pending #8215.
2013-08-12Don't use unkillable in UnsafeArc dtor when there's no unwrapper. Close #8382.Ben Blum-19/+21
2013-08-12auto merge of #8428 : blake2-ppc/rust/peekable-iterators, r=thestingerbors-19/+92
Peekable changes by @SimonSapin and original PR is #8396
2013-08-11num: implement CheckedDivDaniel Micay-2/+42
2013-08-11auto merge of #8455 : nikomatsakis/rust/issue-5762-objects-dralston-d, r=graydonbors-1/+47
Fix #5762 and various other aspects of object invocation. r? @graydon
2013-08-11Update type visitor to use &Visitor and not @VisitorNiko Matsakis-0/+28
2013-08-11Add a field `borrow_offset` to the type descriptor indicatingNiko Matsakis-1/+19
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-11auto merge of #8412 : thestinger/rust/vector-add, r=alexcrichtonbors-16/+44
2013-08-11fix unused importsDaniel Micay-2/+1
2013-08-11move `strdup_uniq` lang item to std::strDaniel Micay-6/+8
2013-08-11str: optimize `with_capacity`Daniel Micay-3/+21
before: test bench_with_capacity ... bench: 104 ns/iter (+/- 4) after: test bench_with_capacity ... bench: 56 ns/iter (+/- 1)
2013-08-11vec: optimize the Add implementationDaniel Micay-5/+14
before: test add ... bench: 164 ns/iter (+/- 1) after: test add ... bench: 113 ns/iter (+/- 2)
2013-08-11disable 64-bit CheckedMul on 32-bitDaniel Micay-2/+4
code generation problem reported as issue #8449
2013-08-11add intrinsics for checked overflow add/sub/mulDaniel Micay-2/+503
2013-08-10auto merge of #8404 : stepancheg/rust/zero-unit-inline, r=alexcrichtonbors-0/+2
Follow-up to #8155
2013-08-11Add a "peekable" iterator adaptor, with a peek() method that returns the ↵Simon Sapin-0/+72
next element.
2013-08-11std::iterator: Rename .peek() to .inspect()blake2-ppc-19/+20
2013-08-10Merge branch 'trie-bound-iters' of https://github.com/dim-an/rust into rollupErick Tryzelaar-0/+102
2013-08-10std: fix the non-stage0 str::raw::slice_bytes which broke in a mergeErick Tryzelaar-1/+1
2013-08-10std: Transform.find_ -> .findErick Tryzelaar-6/+6
2013-08-10std: Iterator.len_ -> .lenErick Tryzelaar-8/+7
2013-08-10std: Iterator.last_ -> .lastErick Tryzelaar-4/+3
2013-08-10std: Iterator.chain_ -> .chainErick Tryzelaar-10/+10
2013-08-10std: Iterator.flat_map_ -> .flat_mapErick Tryzelaar-5/+4
2013-08-10std: Iterator.take_ -> .takeErick Tryzelaar-29/+27
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-49/+48
cc #5898
2013-08-10std: merge Iterator and IteratorUtilErick Tryzelaar-280/+202
2013-08-10std: merge iterator::DoubleEndedIterator and DoubleEndedIteratorUtilErick Tryzelaar-28/+15
2013-08-10Mass rename of .consume{,_iter}() to .move_iter()Erick Tryzelaar-67/+67
cc #7887
2013-08-09auto merge of #8296 : erickt/rust/remove-str-trailing-nulls, r=ericktbors-474/+993
This PR fixes #7235 and #3371, which removes trailing nulls from `str` types. Instead, it replaces the creation of c strings with a new type, `std::c_str::CString`, which wraps a malloced byte array, and respects: * No interior nulls * Ends with a trailing null
2013-08-09Merge remote-tracking branch 'remotes/origin/master' into ↵Erick Tryzelaar-199/+637
remove-str-trailing-nulls
2013-08-09auto merge of #8387 : brson/rust/nooldrt, r=brsonbors-2119/+217
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-2119/+217
2013-08-09auto merge of #8176 : catamorphism/rust/rustpkg-extern-mod, r=catamorphismbors-2/+163
r? @graydon Also, notably, make rustpkgtest depend on the rustpkg executable (otherwise, tests that shell out to rustpgk might run when rustpkg doesn't exist).
2013-08-09std/rustc/rustpkg/syntax: Support the `extern mod = ...` formTim Chevalier-2/+163
This commit allows you to write: extern mod x = "a/b/c"; which means rustc will search in the RUST_PATH for a package with ID a/b/c, and bind it to the name `x` if it's found. Incidentally, move get_relative_to from back::rpath into std::path
2013-08-09auto merge of #8415 : brson/rust/newrt-local-heap-perf, r=pcwalton,brsonbors-68/+92
Mostly optimizing TLS accesses to bring local heap allocation performance closer to that of oldsched. It's not completely at parity but removing the branches involved in supporting oldsched and optimizing pthread_get/setspecific to instead use our dedicated TCB slot will probably make up for it.
2013-08-09Remove rtdebug_! and make rtdebug! work properly.Corey Richardson-12/+4
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-09std: more windows fixes to os.rs and run.rsErick Tryzelaar-4/+9
2013-08-09auto merge of #8369 : yichoi/rust/arm-test, r=sanxiynbors-4/+4
fix some part of test code to pass make check on ARM Android
2013-08-10std: add a Clone impl for HashSet.Huon Wilson-0/+26
2013-08-09Implement `lower_bound_iter`/`upper_bound_iter` for TrieMap/TrieSetDmitry Ermolov-0/+102
2013-08-09Fix Ipv6Addr to_str for ::1:x.x.x.x addressesStepan Koltsov-1/+8
Reported by luqmana@
2013-08-09std: Fix perf of local allocations in newschedBrian Anderson-68/+92
Mostly optimizing TLS accesses to bring local heap allocation performance closer to that of oldsched. It's not completely at parity but removing the branches involved in supporting oldsched and optimizing pthread_get/setspecific to instead use our dedicated TCB slot will probably make up for it.