<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sync, branch 1.8.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.8.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.8.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-02-29T17:05:33+00:00</updated>
<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>
<entry>
<title>Remove unnecessary explicit lifetime bounds.</title>
<updated>2016-02-18T13:37:10+00:00</updated>
<author>
<name>Corey Farwell</name>
<email>coreyf@rwell.org</email>
</author>
<published>2016-02-18T01:20:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5850d16d52957095c06a78f101c3508f2f4b9d9d'/>
<id>urn:sha1:5850d16d52957095c06a78f101c3508f2f4b9d9d</id>
<content type='text'>
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
</content>
</entry>
<entry>
<title>std: `_lock` -&gt; `_guard` in Mutex example</title>
<updated>2016-02-08T13:48:12+00:00</updated>
<author>
<name>Benjamin Herr</name>
<email>ben@0x539.de</email>
</author>
<published>2016-02-08T13:48:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cab8c2af8e43af0ae023b3da8d5d02038e8908ab'/>
<id>urn:sha1:cab8c2af8e43af0ae023b3da8d5d02038e8908ab</id>
<content type='text'>
The comment in the next line was already talking about `_guard`, and the
scope guard a couple lines further down is also called `guard`, so I
assume that was just a typo.
</content>
</entry>
<entry>
<title>Auto merge of #31440 - reem:rwlock-map-fix, r=alexcrichton</title>
<updated>2016-02-07T00:16:58+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2016-02-07T00:16:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3623797ebb9674322c4cfcfb0bb7b002afe17f11'/>
<id>urn:sha1:3623797ebb9674322c4cfcfb0bb7b002afe17f11</id>
<content type='text'>
Also update the instability reason to include a note about a possible
bad interaction with condition variables on systems that allow
waiting on a RwLock guard.
</content>
</entry>
<entry>
<title>Auto merge of #31428 - reem:remove-mutexguard-map, r=alexcrichton</title>
<updated>2016-02-06T19:16:10+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2016-02-06T19:16:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=915fa2a378a22d197ed85f2d563f443edb10b713'/>
<id>urn:sha1:915fa2a378a22d197ed85f2d563f443edb10b713</id>
<content type='text'>
It could return in the future if it returned a different guard type, which
could not be used with Condvar, otherwise it is unsafe as another thread
can invalidate an "inner" reference during a Condvar::wait.

cc #27746
</content>
</entry>
<entry>
<title>Fix RwLock*Guard::map to not allow escaping a reference to the data.</title>
<updated>2016-02-06T03:04:04+00:00</updated>
<author>
<name>Jonathan Reem</name>
<email>jonathan.reem@gmail.com</email>
</author>
<published>2016-02-06T01:11:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ad73330391d7b608e6650cb83dc76d5eeb1919ed'/>
<id>urn:sha1:ad73330391d7b608e6650cb83dc76d5eeb1919ed</id>
<content type='text'>
Also update the instability reason to include a note about a possible
bad interaction with condition variables on systems that allow
waiting on a RwLock guard.
</content>
</entry>
<entry>
<title>Remove MutexGuard::map, as it is not safe in combination with Condvar.</title>
<updated>2016-02-05T10:26:19+00:00</updated>
<author>
<name>Jonathan Reem</name>
<email>jonathan.reem@gmail.com</email>
</author>
<published>2016-02-05T10:22:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a61983f9359724c5ffabb5c0a2525aca756fe9ea'/>
<id>urn:sha1:a61983f9359724c5ffabb5c0a2525aca756fe9ea</id>
<content type='text'>
It could return in the future if it returned a different guard type, which
could not be used with Condvar, otherwise it is unsafe as another thread
can invalidate an "inner" reference during a Condvar::wait.

cc #27746
</content>
</entry>
<entry>
<title>Remove an unnecessary 'static bound in the impl of Debug for Mutex.</title>
<updated>2016-02-05T09:19:29+00:00</updated>
<author>
<name>Jonathan Reem</name>
<email>jonathan.reem@gmail.com</email>
</author>
<published>2016-02-05T09:19:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ca72440e694910a58bb5b7d2667e3495e0dbee30'/>
<id>urn:sha1:ca72440e694910a58bb5b7d2667e3495e0dbee30</id>
<content type='text'>
There is no reason to require T: 'static; the bound appears to be
a historical artifact.
</content>
</entry>
<entry>
<title>Auto merge of #30834 - reem:rwlock-read-guard-map, r=alexcrichton</title>
<updated>2016-02-03T19:26:05+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2016-02-03T19:26:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=18c1781a4c8aaaeb11285e0099edfff2043b62a5'/>
<id>urn:sha1:18c1781a4c8aaaeb11285e0099edfff2043b62a5</id>
<content type='text'>
This is very useful when the RwLock is synchronizing access to a data
structure and you would like to return or store guards which contain
references to data inside the data structure instead of the data structure
itself.
</content>
</entry>
</feed>
