summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2013-07-03auto merge of #7474 : Seldaek/rust/clean-iter, r=thestingerbors-313/+6
I think it's WIP - but I wanted to ask for feedback (/cc @thestinger) I had to move the impl of FromIter for vec into extra::iter because I don't think std can depend on extra, but that's a bit messed up. Similarly some FromIter uses are gone now, not sure if this is fixable or if I made a complete mess here..
2013-07-02converted TODOs into XXXsEric Reed-8/+7
2013-07-02Merge remote-tracking branch 'upstream/io' into ioEric Reed-565/+403
Conflicts: src/libstd/rt/test.rs src/rt/rustrt.def.in
2013-07-02IPv6 support for UDP and TCP.Eric Reed-131/+768
2013-07-02std: Use the same task failure message as C++ rtBrian Anderson-2/+2
2013-07-02A missing ! made it so that the testcase schedule_home_states was throwing ↵toddaaro-1/+1
spurious assert failures. Why this did not result in the test case failing previously is beyond me.
2013-07-01Small documentation changesSteven Fackler-1/+2
I'm leaving the Sized kind undocumented since it isn't fully implemented yet.
2013-07-01removed unnecessary import that slipped in during mergetoddaaro-1/+0
2013-07-01merging task/coroutine refactoring back into upstreamtoddaaro-19/+18
2013-07-01Refactored the runtime to view coroutines as a component of tasks, instead ↵toddaaro-550/+386
of tasks as a component of coroutines.
2013-07-01auto merge of #7521 : thestinger/rust/vec, r=Aatchbors-21/+32
continued from #7495
2013-07-01rustc: add a lint to enforce uppercase statics.Huon Wilson-56/+70
2013-06-30auto merge of #7487 : huonw/rust/vec-kill, r=cmrbors-614/+276
Continuation of #7430. I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
2013-06-30pass exchange_malloc an alignment, not a tydescDaniel Micay-7/+2
2013-06-30global_heap: inline get_box_size and align_toDaniel Micay-0/+2
2013-06-30vec: implement exchange vector reserve in RustDaniel Micay-12/+14
2013-06-30global_heap: inline malloc_raw and add realloc_rawDaniel Micay-2/+14
2013-06-30auto merge of #7517 : brson/rust/0.7, r=brsonbors-1/+1
2013-07-01Move most iter functionality to extra, fixes #7343Jordi Boggiano-313/+6
2013-06-30Bump version from 0.7-pre to 0.7Brian Anderson-1/+1
2013-06-30auto merge of #7495 : thestinger/rust/exchange, r=cmrbors-158/+111
With these changes, exchange allocator headers are never initialized, read or written to. Removing the header will now just involve updating the code in trans using an offset to only do it if the type contained is managed. The only thing blocking removing the initialization of the last field in the header was ~fn since it uses it to store the dynamic size/types due to captures. I temporarily switched it to a `closure_exchange_alloc` lang item (it uses the same `exchange_free`) and #7496 is filed about removing that. Since the `exchange_free` call is now inlined all over the codebase, I don't think we should have an assert for null. It doesn't currently ever happen, but it would be fine if we started generating code that did do it. The `exchange_free` function also had a comment declaring that it must not fail, but a regular assert would cause a failure. I also removed the atomic counter because valgrind can already find these leaks, and we have valgrind bots now. Note that exchange free does not currently print an error an out-of-memory when it aborts, because our `io` code may allocate. We could probably get away with a `#[rust_stack]` call to a `stdio` function but it would be better to make a write system call.
2013-06-30add a closure_exchange_malloc lang itemDaniel Micay-0/+14
this makes the exchange allocation header completely unused, and leaves it uninitialized
2013-06-30managed: rm RC_EXCHANGE_UNIQUE constantDaniel Micay-1/+0
this is no longer used, exchange allocations do not set ref_count
2013-06-30stop initializing ref_count in exchange_allocDaniel Micay-1/+21
this is never read anymore
2013-06-30Specialize to_str_common for floats/integers in strconvAlex Crichton-192/+239
This allows the integral paths to avoid allocations on the heap Closes #4424, #4423
2013-06-30Change char::escape_{default,unicode} to take callbacks instead of allocatingAlex Crichton-52/+61
strings
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-118/+26
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-30Convert vec::{grow, grow_fn, grow_set} to methods.Huon Wilson-63/+46
2013-06-30Convert vec::dedup to a method.Huon Wilson-40/+35
2013-06-30Convert vec::{bsearch, bsearch_elem} to methods.Huon Wilson-84/+93
2013-06-30etc: update etc/unicode.py for the changes made to std::unicode.Huon Wilson-2/+1
2013-06-30Convert vec::{reverse, swap} to methods.Huon Wilson-46/+47
2013-06-30Convert vec::{rposition, rposition_elem, position_elem, contains} to methods.Huon Wilson-51/+31
2013-06-30Remove vec::[r]position_between, replaced by slices & iterators.Huon Wilson-102/+8
2013-06-30Remove vec::{rfind, rfind_between, find_between}, replaced by slices and ↵Huon Wilson-119/+0
iterator adapators.
2013-06-30vec: use contains_managed instead of box headerDaniel Micay-1/+29
2013-06-30add a contains_managed intrinsicDaniel Micay-0/+4
2013-06-30simplify the exchange allocatorDaniel Micay-156/+44
* stop using an atomic counter, this has a significant cost and valgrind will already catch these leaks * remove the extra layer of function calls * remove the assert of non-null in free, freeing null is well defined but throwing a failure from free will not be * stop initializing the `prev`/`next` pointers * abort on out-of-memory, failing won't necessarily work
2013-06-29auto merge of #7490 : mozilla/rust/rollup, r=thestingerbors-14/+10
603137c r=cmr fe10db2 r=bstrie
2013-06-29Implement `map_mut` on the Option typeAlex Crichton-2/+8
Closes #7394
2013-06-29auto merge of #7475 : Seldaek/rust/fixsplit, r=cmrbors-1/+10
I almost got locked out of my machine because I misunderstood the purpose of the function and called it with a limit of uint::max_value, which turned this function into an almost endless loop.
2013-06-29minor vec cleanupDaniel Micay-10/+6
* hide the rustrt module in the docs * remove the useless `traits` module wrapping the `Add` impl
2013-06-29fix code block syntax in two docstringsDaniel Micay-4/+4
2013-06-29auto merge of #7449 : yichoi/rust/std_test, r=cmrbors-3/+149
adjust run.rs test for android to pass check std
2013-06-29Removing a lot of usage of '&const'Alex Crichton-82/+50
2013-06-29'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep ↵Ben Blum-16/+24
for making them noncopyable.
2013-06-29Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.Ben Blum-1/+1
2013-06-28auto merge of #7479 : mozilla/rust/rollup, r=thestingerbors-3/+4
22b7eb3 r=thestinger 28a3613 r=cmr a0c31ec r=bstrie ee7307e r=thestinger b9cf6a3 r=thestinger
2013-06-29iterator: UnfoldrIterator::new should have function argument lastblake2-ppc-2/+2
To match Rust conventions and enable use of `do` etc, make sure the closure is the last argument to the `new` method.
2013-06-29Rename #[mutable] to #[no_freeze]Brian Anderson-1/+2