summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2013-07-22std: add #[cfg(test)] reference to extra so we can benchmark libstd.Graydon Hoare-0/+3
2013-07-22auto merge of #7883 : brson/rust/rm-std-net, r=graydonbors-624/+50
This removes all the code from libextra that depends on libuv. After that it removes three runtime features that existed to support the global uv loop: weak tasks, runtime-global variables, and at_exit handlers. The networking code doesn't have many users besides servo, so shouldn't have much fallout. The timer code though is useful and will probably break out-of-tree code until the new scheduler lands, but I expect that to be soon. It also incidentally moves `os::change_dir_locked` to `std::unstable`. This is a function used by test cases to avoid cwd races and in my opinion shouldn't be public (#7870). Closes #7251 and #7870
2013-07-22std: fix for blocked task resumeJeff Olson-2/+2
2013-07-22std: Remove at_exit API. UnusedBrian Anderson-102/+0
2013-07-22std: Remove unstable::global. UnusedBrian Anderson-282/+0
2013-07-22std: Move change_dir_locked to unstable. #7870Brian Anderson-40/+50
2013-07-22std::rt: Stop using unstable::global in change_dir_lockedBrian Anderson-14/+26
2013-07-22std: Remove weak_task API. UnusedBrian Anderson-212/+0
2013-07-22auto merge of #7943 : Dretch/rust/vec-slice-from-to, r=huonwbors-3/+47
2013-07-22std: make check appeasementJeff Olson-6/+7
2013-07-22std: minor timer cleanup based on feedbackJeff Olson-5/+5
2013-07-22std: add rt::io::TimerJeff Olson-0/+67
2013-07-22std: add RtioTimer and UvTimer impl atop rt::uvJeff Olson-0/+69
2013-07-22auto merge of #7942 : Dretch/rust/os-listdir-path-no-squiggle, r=brsonbors-2/+2
2013-07-22new snapshotDaniel Micay-607/+12
2013-07-21Minor cleanup of hashmapSteven Stewart-Gallus-11/+5
2013-07-21Merge pull request #7936 from thestinger/cleanupDaniel Micay-2/+0
rm obsolete no-op lints
2013-07-21auto merge of #7932 : blake2-ppc/rust/str-clear, r=huonwbors-1/+51
~str and @str need separate implementations for use in generic functions, where it will not automatically use the impl on &str. fixes issue #7900
2013-07-21Remove what appears to be redundant indirection fromGareth Smith-2/+2
os::list_dir_path.
2013-07-21Add slice_from and slice_to methods for vec, like theGareth Smith-3/+47
methods of the same names that already exist for strs.
2013-07-20auto merge of #7896 : pcwalton/rust/pub-extern, r=pcwaltonbors-553/+664
r? @nikomatsakis
2013-07-20librustc: Remove `pub extern` and `priv extern` from the language.Patrick Walton-553/+664
Place `pub` or `priv` on individual items instead.
2013-07-20rm obsolete no-op lintsDaniel Micay-2/+0
2013-07-20auto merge of #7882 : blake2-ppc/rust/iterator-clone, r=thestingerbors-0/+97
Implement method .cycle() that repeats an iterator endlessly Implement Clone for simple iterators (without closures), including VecIterator. > The theory is simple, the immutable iterators simply hold state > variables (indicies or pointers) into frozen containers. We can freely > clone these iterators, just like we can clone borrowed pointers.
2013-07-20auto merge of #7910 : brson/rust/rm-fixme, r=graydonbors-5/+0
2013-07-20auto merge of #7908 : anasazi/rust/fix_udp_mut, r=brsonbors-82/+81
2013-07-20std: Implement Clone for VecIterator and iterators using itblake2-ppc-0/+26
The theory is simple, the immutable iterators simply hold state variables (indicies or pointers) into frozen containers. We can freely clone these iterators, just like we can clone borrowed pointers. VecIterator needs a manual impl to handle the lifetime struct member.
2013-07-20iterator: Add test for .cycle()blake2-ppc-0/+14
2013-07-20iterator: Let closure-less iterators derive Cloneblake2-ppc-0/+8
2013-07-20iterator: Add .cycle() to repeat an iteratorblake2-ppc-0/+49
2013-07-20auto merge of #7894 : pcwalton/rust/and-pointers-in-at-boxes, r=brsonbors-5/+5
r? @brson
2013-07-20str: Implement Container for ~str, @str and Mutable for ~strblake2-ppc-1/+51
~str and @str need separate implementations for use in generic functions, where it will not automatically use the impl on &str.
2013-07-20option: Add .chain_mut_ref()blake2-ppc-0/+11
.chain_mut_ref() is the mutable alternative to .chain_ref(). A use case example for this method is extraction of an optional value from an Option<Container> value.
2013-07-20option: Title-case `Some` and `None` in docs and fail messagesblake2-ppc-12/+12
For accuracy, say 'get_ref None' instead of 'get_ref none', and so on.
2013-07-20auto merge of #7858 : bblum/rust/kill, r=brsonbors-1157/+1840
Some notes about the commits. Exit code propagation commits: * ```Reimplement unwrap()``` has the same old code from ```arc::unwrap``` ported to use modern atomic types and finally (it's considerably nicer this way) * ```Add try_unwrap()``` has some new slightly-tricky (but pretty simple) concurrency primitive code * ```Add KillHandle``` and ```Add kill::Death``` are the bulk of the logic. Task killing commits: * ```Implement KillHandle::kill() and friends```, ```Do a task-killed check```, and ```Add BlockedTask``` implement the killing logic; * ```Change the HOF context switchers``` turns said logic on Linked failure commits: * ```Replace *rust_task ptrs``` adapts the taskgroup code to work for both runtimes * ```Enable taskgroup code``` does what it says on the tin. r? @brson
2013-07-20auto merge of #7419 : catamorphism/rust/default-package, r=graydonbors-1/+41
r? @brson `rustpkg build`, if executed in a package source directory inside a workspace, will now build that package. By "inside a workspace" I mean that the parent directory has to be called `src`, and rustpkg will create a `build` directory in .. if there isn't already one. Same goes for `rustpkg install` and `rustpkg clean`. For the time being, `rustpkg build` (etc.) will still error out if you run it inside a directory whose parent isn't called `src`. I'm not sure whether or not it's desirable to have it do something in a non-workspace directory.
2013-07-20Use Option .take() or .take_unwrap() instead of util::replace where possibleblake2-ppc-36/+25
2013-07-20Fix warnings in stdtest and extratest. Maybe somebody will care.Ben Blum-1/+0
2013-07-20Add watched and indestructible spawn modes.Ben Blum-4/+121
2013-07-20Rename TCB to TaskgroupBen Blum-15/+16
2013-07-20Enable taskgroup code for newsched spawns.Ben Blum-5/+36
2013-07-20Fix linked failure tests to block forever instead of looping around yield.Ben Blum-29/+13
2013-07-20(cleanup) impl TaskSetBen Blum-39/+46
2013-07-20(cleanup) Don't check taskgroup generation monotonicity unless cfg(test).Ben Blum-16/+16
2013-07-20(cleanup) Modernize taskgroup code for the new borrow-checker.Ben Blum-61/+20
2013-07-20Replace *rust_task ptrs in taskgroup code with TaskHandle, for transitioning ↵Ben Blum-128/+219
to newsched killing.
2013-07-20Add option::take(), the building block of the option::take_* family.Ben Blum-3/+9
2013-07-20Stash a spare kill flag inside tasks, to save two atomic xadds in the ↵Ben Blum-37/+87
blocking fastpath.
2013-07-20Add tests for task killing and blocking.Ben Blum-0/+140
2013-07-20Add test::with_test_task() convenience function.Ben Blum-1/+11