<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sync, branch 1.9.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.9.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.9.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-04-12T15:22:11+00:00</updated>
<entry>
<title>std: Stabilize APIs for the 1.9 release</title>
<updated>2016-04-12T15:22:11+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-04-07T17:42:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1f8f3d725a1460b083843f724831b334d1d3205e'/>
<id>urn:sha1:1f8f3d725a1460b083843f724831b334d1d3205e</id>
<content type='text'>
This commit applies all stabilizations, renamings, and deprecations that the
library team has decided on for the upcoming 1.9 release. All tracking issues
have gone through a cycle-long "final comment period" and the specific APIs
stabilized/deprecated are:

Stable

* `std::panic`
* `std::panic::catch_unwind` (renamed from `recover`)
* `std::panic::resume_unwind` (renamed from `propagate`)
* `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`)
* `std::panic::UnwindSafe` (renamed from `RecoverSafe`)
* `str::is_char_boundary`
* `&lt;*const T&gt;::as_ref`
* `&lt;*mut T&gt;::as_ref`
* `&lt;*mut T&gt;::as_mut`
* `AsciiExt::make_ascii_uppercase`
* `AsciiExt::make_ascii_lowercase`
* `char::decode_utf16`
* `char::DecodeUtf16`
* `char::DecodeUtf16Error`
* `char::DecodeUtf16Error::unpaired_surrogate`
* `BTreeSet::take`
* `BTreeSet::replace`
* `BTreeSet::get`
* `HashSet::take`
* `HashSet::replace`
* `HashSet::get`
* `OsString::with_capacity`
* `OsString::clear`
* `OsString::capacity`
* `OsString::reserve`
* `OsString::reserve_exact`
* `OsStr::is_empty`
* `OsStr::len`
* `std::os::unix::thread`
* `RawPthread`
* `JoinHandleExt`
* `JoinHandleExt::as_pthread_t`
* `JoinHandleExt::into_pthread_t`
* `HashSet::hasher`
* `HashMap::hasher`
* `CommandExt::exec`
* `File::try_clone`
* `SocketAddr::set_ip`
* `SocketAddr::set_port`
* `SocketAddrV4::set_ip`
* `SocketAddrV4::set_port`
* `SocketAddrV6::set_ip`
* `SocketAddrV6::set_port`
* `SocketAddrV6::set_flowinfo`
* `SocketAddrV6::set_scope_id`
* `&lt;[T]&gt;::copy_from_slice`
* `ptr::read_volatile`
* `ptr::write_volatile`
* The `#[deprecated]` attribute
* `OpenOptions::create_new`

Deprecated

* `std::raw::Slice` - use raw parts of `slice` module instead
* `std::raw::Repr` - use raw parts of `slice` module instead
* `str::char_range_at` - use slicing plus `chars()` plus `len_utf8`
* `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8`
* `str::char_at` - use slicing plus `chars()`
* `str::char_at_reverse` - use slicing plus `chars().rev()`
* `str::slice_shift_char` - use `chars()` plus `Chars::as_str`
* `CommandExt::session_leader` - use `before_exec` instead.

Closes #27719
cc #27751 (deprecating the `Slice` bits)
Closes #27754
Closes #27780
Closes #27809
Closes #27811
Closes #27830
Closes #28050
Closes #29453
Closes #29791
Closes #29935
Closes #30014
Closes #30752
Closes #31262
cc #31398 (still need to deal with `before_exec`)
Closes #31405
Closes #31572
Closes #31755
Closes #31756
</content>
</entry>
<entry>
<title>Rollup merge of #32507 - klingtnet:master, r=steveklabnik</title>
<updated>2016-03-28T17:48:28+00:00</updated>
<author>
<name>Steve Klabnik</name>
<email>steve@steveklabnik.com</email>
</author>
<published>2016-03-28T17:48:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5695aea473477919916116a678da93217b76496a'/>
<id>urn:sha1:5695aea473477919916116a678da93217b76496a</id>
<content type='text'>
Fix missing console output in `Barrier` example

The `println!` calls in the previous version were never shown (at least
not in the playpen) because the main thread is finished before all the
spawned child threads were synchronized. This commit adds a join for
each thread handle to wait in the main thread until all child threads
are finished.

r? @steveklabnik
</content>
</entry>
<entry>
<title>std: Rewrite Once with poisoning</title>
<updated>2016-03-26T17:33:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-03-18T02:01:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c966c330c962f8479882c28a0e430142ef53ee5a'/>
<id>urn:sha1:c966c330c962f8479882c28a0e430142ef53ee5a</id>
<content type='text'>
This commit rewrites the `std::sync::Once` primitive with poisoning in mind in
light of #31688. Currently a panic in the initialization closure will cause
future initialization closures to run, but the purpose of a Once is usually to
initialize some global state so it's highly likely that the global state is
corrupt if a panic happened. The same strategy of a mutex is taken where a panic
is propagated by default.

A new API, `call_once_force`, was added to subvert panics like is available on
Mutex as well (for when panicking is handled internally).

Adding this support was a significant enough change to the implementation that
it was just completely rewritten from scratch, primarily to avoid using a
`StaticMutex` which needs to have `destroy()` called on it at some point (a pain
to do).

Closes #31688
</content>
</entry>
<entry>
<title>Fix missing console output in `Barrier` example</title>
<updated>2016-03-26T13:53:27+00:00</updated>
<author>
<name>Andreas Linz</name>
<email>klingt.net@gmail.com</email>
</author>
<published>2016-03-26T13:53:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2eb84299ca0a23d48ab5f7e489d72708d99b1a1e'/>
<id>urn:sha1:2eb84299ca0a23d48ab5f7e489d72708d99b1a1e</id>
<content type='text'>
The `println!` calls in the previous version were never shown (at least
not in the playpen) because the main thread is finished before all the
spawned child threads were synchronized. This commit adds a join for
each thread handle to wait in the main thread until all child threads
are finished.
</content>
</entry>
<entry>
<title>try! -&gt; ?</title>
<updated>2016-03-23T03:01:37+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2016-03-23T03:01:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0f02309e4b0ea05ee905205278fb6d131341c41f'/>
<id>urn:sha1:0f02309e4b0ea05ee905205278fb6d131341c41f</id>
<content type='text'>
Automated conversion using the untry tool [1] and the following command:

```
$ find -name '*.rs' -type f | xargs untry
```

at the root of the Rust repo.

[1]: https://github.com/japaric/untry
</content>
</entry>
<entry>
<title>std: Clean out deprecated APIs</title>
<updated>2016-03-12T20:31:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-03-07T23:42:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b53764c73bd722ea22142bace6249d5950066253'/>
<id>urn:sha1:b53764c73bd722ea22142bace6249d5950066253</id>
<content type='text'>
Removes all unstable and deprecated APIs prior to the 1.8 release. All APIs that
are deprecated in the 1.8 release are sticking around for the rest of this
cycle.

Some notable changes are:

* The `dynamic_lib` module was moved into `rustc_back` as the compiler still
  relies on a few bits and pieces.
* The `DebugTuple` formatter now special-cases an empty struct name with only
  one field to append a trailing comma.
</content>
</entry>
<entry>
<title>End stdlib module summaries with a full stop.</title>
<updated>2016-03-04T22:37:11+00:00</updated>
<author>
<name>Steve Klabnik</name>
<email>steve@steveklabnik.com</email>
</author>
<published>2016-03-04T22:37:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=096409cf8c2f0fcfe8dec77fd293ce5a4ba41284'/>
<id>urn:sha1:096409cf8c2f0fcfe8dec77fd293ce5a4ba41284</id>
<content type='text'>
Fixes #9447
</content>
</entry>
<entry>
<title>Explicitly opt out of `Sync` for `cell` and `mpsc` types</title>
<updated>2016-03-01T23:51:46+00:00</updated>
<author>
<name>Andrew Paseltiner</name>
<email>apaseltiner@gmail.com</email>
</author>
<published>2016-03-01T03:03:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f522d882373067ab79ea0fdc30be6150eeccb1fd'/>
<id>urn:sha1:f522d882373067ab79ea0fdc30be6150eeccb1fd</id>
<content type='text'>
These types were already `!Sync`, but this improves error messages when
they are used in contexts that require `Sync`, aligning them with
conventions used with `Rc`, among others.
</content>
</entry>
<entry>
<title>std: Stabilize APIs for the 1.8 release</title>
<updated>2016-02-29T17:05:33+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-02-25T23:52:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b643782a10288a86a500168d754026bd0fce2ab5'/>
<id>urn:sha1:b643782a10288a86a500168d754026bd0fce2ab5</id>
<content type='text'>
This commit is the result of the FCPs ending for the 1.8 release cycle for both
the libs and the lang suteams. The full list of changes are:

Stabilized

* `braced_empty_structs`
* `augmented_assignments`
* `str::encode_utf16` - renamed from `utf16_units`
* `str::EncodeUtf16` - renamed from `Utf16Units`
* `Ref::map`
* `RefMut::map`
* `ptr::drop_in_place`
* `time::Instant`
* `time::SystemTime`
* `{Instant,SystemTime}::now`
* `{Instant,SystemTime}::duration_since` - renamed from `duration_from_earlier`
* `{Instant,SystemTime}::elapsed`
* Various `Add`/`Sub` impls for `Time` and `SystemTime`
* `SystemTimeError`
* `SystemTimeError::duration`
* Various impls for `SystemTimeError`
* `UNIX_EPOCH`
* `ops::{Add,Sub,Mul,Div,Rem,BitAnd,BitOr,BitXor,Shl,Shr}Assign`

Deprecated

* Scoped TLS (the `scoped_thread_local!` macro)
* `Ref::filter_map`
* `RefMut::filter_map`
* `RwLockReadGuard::map`
* `RwLockWriteGuard::map`
* `Condvar::wait_timeout_with`

Closes #27714
Closes #27715
Closes #27746
Closes #27748
Closes #27908
Closes #29866
</content>
</entry>
<entry>
<title>Register new snapshots</title>
<updated>2016-02-23T15:31:16+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2016-02-20T00:08:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a92ee0f664c84545c3cba70644472ec3df23c1ee'/>
<id>urn:sha1:a92ee0f664c84545c3cba70644472ec3df23c1ee</id>
<content type='text'>
</content>
</entry>
</feed>
