<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/thread, branch 1.0.0-beta</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.0.0-beta</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.0.0-beta'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-04-02T01:37:54+00:00</updated>
<entry>
<title>rollup merge of #23860: nikomatsakis/copy-requires-clone</title>
<updated>2015-04-02T01:37:54+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-02T01:37:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f92e7abefd0231f80d16062e5ff6aaf8cc3bc861'/>
<id>urn:sha1:f92e7abefd0231f80d16062e5ff6aaf8cc3bc861</id>
<content type='text'>
Conflicts:
	src/test/compile-fail/coherence-impls-copy.rs
</content>
</entry>
<entry>
<title>rollup merge of #23949: aturon/stab-timeout</title>
<updated>2015-04-01T20:56:20+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-01T20:56:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=655634e6ab00707ef98034dcfb32000cbfa7a01c'/>
<id>urn:sha1:655634e6ab00707ef98034dcfb32000cbfa7a01c</id>
<content type='text'>
This commit renames and stabilizes:

* `Condvar::wait_timeout_ms` (renamed from `wait_timeout`)
* `thread::park_timeout_ms` (renamed from `park_timeout`)
* `thread::sleep_ms` (renamed from `sleep`)

In each case, the timeout is taken as a `u32` number of milliseconds,
rather than a `Duration`.

These functions are likely to be deprecated once a stable form of
`Duration` is available, but there is little cost to having these named
variants around, and it's crucial functionality for 1.0.

[breaking-change]

r? @alexcrichton

cc @sfackler @carllerche
</content>
</entry>
<entry>
<title>Stabilize basic timeout functionality</title>
<updated>2015-04-01T20:43:45+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2015-04-01T19:20:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=371277fb0d210152eb8c79e30bd7f7749c5af63c'/>
<id>urn:sha1:371277fb0d210152eb8c79e30bd7f7749c5af63c</id>
<content type='text'>
This commit renames and stabilizes:

* `Condvar::wait_timeout_ms` (renamed from `wait_timeout`)
* `thread::park_timeout_ms` (renamed from `park_timeout`)
* `thread::sleep_ms` (renamed from `sleep`)

In each case, the timeout is taken as a `u32` number of milliseconds,
rather than a `Duration`.

These functions are likely to be deprecated once a stable form of
`Duration` is available, but there is little cost to having these named
variants around, and it's crucial functionality for 1.0.

[breaking-change]
</content>
</entry>
<entry>
<title>Remove `Thunk` struct and `Invoke` trait; change `Thunk` to be an alias</title>
<updated>2015-04-01T18:41:21+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2015-04-01T15:12:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cade32acf6f5ff209ee082d70350d9bc0362985a'/>
<id>urn:sha1:cade32acf6f5ff209ee082d70350d9bc0362985a</id>
<content type='text'>
for `Box&lt;FnBox()&gt;`. I found the alias was still handy because it is
shorter than the fully written type.

This is a [breaking-change]: convert code using `Invoke` to use `FnBox`,
which is usually pretty straight-forward. Code using thunk mostly works
if you change `Thunk::new =&gt; Box::new` and `foo.invoke(arg)` to
`foo(arg)`.
</content>
</entry>
<entry>
<title>Fallout in public-facing and semi-public-facing libs</title>
<updated>2015-04-01T15:23:45+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2015-03-30T13:40:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c35c46821a69af14e6b38e0238f70e22433a3e8e'/>
<id>urn:sha1:c35c46821a69af14e6b38e0238f70e22433a3e8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rollup merge of #23873: alexcrichton/remove-deprecated</title>
<updated>2015-03-31T22:54:44+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-31T18:34:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=554946c81eeb4fcfceda782f6c5af394ab3fe8d3'/>
<id>urn:sha1:554946c81eeb4fcfceda782f6c5af394ab3fe8d3</id>
<content type='text'>
Conflicts:
	src/libcollectionstest/fmt.rs
	src/libcollectionstest/lib.rs
	src/libcollectionstest/str.rs
	src/libcore/error.rs
	src/libstd/fs.rs
	src/libstd/io/cursor.rs
	src/libstd/os.rs
	src/libstd/process.rs
	src/libtest/lib.rs
	src/test/run-pass-fulldeps/compiler-calls.rs
</content>
</entry>
<entry>
<title>std: Clean out #[deprecated] APIs</title>
<updated>2015-03-31T22:49:57+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-30T18:00:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d4a2c941809f303b97d153e06ba07e95cd245f88'/>
<id>urn:sha1:d4a2c941809f303b97d153e06ba07e95cd245f88</id>
<content type='text'>
This commit cleans out a large amount of deprecated APIs from the standard
library and some of the facade crates as well, updating all users in the
compiler and in tests as it goes along.
</content>
</entry>
<entry>
<title>std: Stabilize the rest of Any/BoxAny</title>
<updated>2015-03-30T23:44:11+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-30T23:43:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f19e763e0824a73118ed715f526cb7bdd584d4c4'/>
<id>urn:sha1:f19e763e0824a73118ed715f526cb7bdd584d4c4</id>
<content type='text'>
This commit stabilizes the following APIs:

* `TypeId::of` - now that it has an `Any` bound it's ready to be stable.
* `Box&lt;Any&gt;::downcast` - now that an inherent impl on `Box&lt;Any&gt;` as well as
  `Box&lt;Any+Send&gt;` is allowed the `BoxAny` trait is removed in favor of these
  inherent methods.

This is a breaking change due to the removal of the `BoxAny` trait, but
consumers can simply remove imports to fix crates.

[breaking-change]
</content>
</entry>
<entry>
<title>rollup merge of #23752: alexcrichton/remove-should-fail</title>
<updated>2015-03-27T17:07:48+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-27T17:07:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=55c398d651e6b3e4f469325a35e029059ce36f1e'/>
<id>urn:sha1:55c398d651e6b3e4f469325a35e029059ce36f1e</id>
<content type='text'>
This attribute has been deprecated in favor of #[should_panic]. This also
updates rustdoc to no longer accept the `should_fail` directive and instead
renames it to `should_panic`.
</content>
</entry>
<entry>
<title>rollup merge of #23651: alexcrichton/unwind-try</title>
<updated>2015-03-27T17:07:42+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-27T17:07:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6968ccfd7a9a8f568959defe7408532d8607a0bb'/>
<id>urn:sha1:6968ccfd7a9a8f568959defe7408532d8607a0bb</id>
<content type='text'>
This commit provides a safe, but unstable interface for the `try` functionality
of running a closure and determining whether it panicked or not.

There are two primary reasons that this function was previously marked `unsafe`:

1. A vanilla version of this function exposes the problem of exception safety by
   allowing a bare try/catch in the language. It is not clear whether this
   concern should be directly tied to `unsafe` in Rust at the API level. At this
   time, however, the bounds on `ffi::try` require the closure to be both
   `'static` and `Send` (mirroring those of `thread::spawn`). It may be possible
   to relax the bounds in the future, but for now it's the level of safety that
   we're willing to commit to.

2. Panicking while panicking will leak resources by not running destructors.
   Because panicking is still controlled by the standard library, safeguards
   remain in place to prevent this from happening.

The new API is now called `catch_panic` and is marked as `#[unstable]` for now.
</content>
</entry>
</feed>
