rust/src/libstd
kennytm b326319f15
Rollup merge of #52759 - stjepang:impl-send-sync-for-joinhandle, r=TimNN
Impl Send & Sync for JoinHandle

This is just a cosmetic change - it slightly relaxes and clarifies the public API without effectively promising any new guarantees.

Currently we have [these auto trait implementations](https://doc.rust-lang.org/nightly/std/thread/struct.JoinHandle.html#synthetic-implementations):

```rust
impl<T: Send> Send for JoinHandle<T> {}
impl<T: Sync> Sync for JoinHandle<T> {}
```

Bound `T: Send` doesn't make much sense because `JoinHandle<T>` can be created only when `T: Send`. Note that [`JoinHandle::<T>::join`](https://doc.rust-lang.org/nightly/std/thread/struct.JoinHandle.html#method.join) doesn't require `T: Send` so why should the `Send` impl?

And the `Sync` impl doesn't need `T: Sync` because `JoinHandle<T>` cannot even share `T` - it can only send it to the thread that calls `join`.
2018-07-28 16:24:59 +08:00
..
collections Move core::alloc::CollectionAllocErr to alloc::collections 2018-06-29 14:01:33 +02:00
ffi Merge remote-tracking branches 'ljedrz/dyn_libcore', 'ljedrz/dyn_libstd' and 'ljedrz/dyn_libterm' into dyn-rollup 2018-07-25 10:25:02 +09:00
io Auto merge of #52336 - ishitatsuyuki:dyn-rollup, r=Mark-Simulacrum 2018-07-27 20:27:40 +00:00
net Auto merge of #52336 - ishitatsuyuki:dyn-rollup, r=Mark-Simulacrum 2018-07-27 20:27:40 +00:00
os Add doc links to `std::os` extension traits 2018-04-14 15:32:24 -07:00
prelude Reformat std prelude source to show it is the sum of core and alloc preludes 2018-07-07 23:16:27 +02:00
sync Merge remote-tracking branches 'ljedrz/dyn_libcore', 'ljedrz/dyn_libstd' and 'ljedrz/dyn_libterm' into dyn-rollup 2018-07-25 10:25:02 +09:00
sys Auto merge of #52336 - ishitatsuyuki:dyn-rollup, r=Mark-Simulacrum 2018-07-27 20:27:40 +00:00
sys_common Auto merge of #52336 - ishitatsuyuki:dyn-rollup, r=Mark-Simulacrum 2018-07-27 20:27:40 +00:00
tests Update Cargo submodule 2018-03-11 10:59:28 -07:00
thread Rollup merge of #52759 - stjepang:impl-send-sync-for-joinhandle, r=TimNN 2018-07-28 16:24:59 +08:00
Cargo.toml Replace libbacktrace with a submodule 2018-05-30 05:58:23 -07:00
alloc.rs Implement #[alloc_error_handler] 2018-07-09 23:13:24 +02:00
ascii.rs Update std::ascii::ASCIIExt deprecation notes 2018-07-08 18:07:17 +02:00
build.rs Auto merge of #51757 - nielx:fix/haiku-fixes, r=nagisa 2018-07-06 20:05:23 +00:00
env.rs make reference to dirs crate clickable in terminals 2018-07-12 12:48:10 +02:00
error.rs Add missing dyn in tests 2018-07-11 09:11:39 +02:00
f32.rs Clarify rational behind current implementation of `.mod_euc()` 2018-06-26 13:09:56 +02:00
f64.rs Clarify rational behind current implementation of `.mod_euc()` 2018-06-26 13:09:56 +02:00
fs.rs Edit code example for File::open 2018-07-08 16:07:09 +02:00
future.rs `PinMut`: Add safe `get_mut` and rename unsafe fns to `get_mut_unchecked` and `map_unchecked` 2018-06-23 18:29:56 +02:00
keyword_docs.rs Add doc for fn keyword 2018-06-15 23:23:11 +02:00
lib.rs Deny bare_trait_objects globally 2018-07-25 10:25:29 +09:00
macros.rs Rollup merge of #52581 - petrochenkov:bmacrodoc, r=alexcrichton 2018-07-23 01:00:03 +08:00
memchr.rs Fix inconsistent doc headings 2017-08-24 18:42:53 +02:00
num.rs Stabilize num::NonZeroU* 2018-05-16 19:11:31 +02:00
panic.rs Deny bare trait objects in `src/libstd`. 2018-07-10 20:35:36 +02:00
panicking.rs Deny bare trait objects in `src/libstd`. 2018-07-10 20:35:36 +02:00
path.rs libstd: Prefer `Option::map`/etc over `match` where applicable 2018-07-23 22:00:51 -07:00
primitive_docs.rs make std::str link into See also link 2018-05-09 18:30:32 -04:00
process.rs Deny bare trait objects in `src/libstd`. 2018-07-10 20:35:36 +02:00
rt.rs Deny bare trait objects in `src/libstd`. 2018-07-10 20:35:36 +02:00
time.rs Stabilize SystemTime::UNIX_EPOCH 2018-05-28 18:24:01 -06:00