<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/common/helper_thread.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-05-07T16:30:00+00:00</updated>
<entry>
<title>std: Remove unused helper_thread.rs file</title>
<updated>2015-05-07T16:30:00+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-05-05T23:39:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a031325e83b8f050f840395239197ea87361ada5'/>
<id>urn:sha1:a031325e83b8f050f840395239197ea87361ada5</id>
<content type='text'>
This module has been removed for quite some time!
</content>
</entry>
<entry>
<title>Mass rename uint/int to usize/isize</title>
<updated>2015-03-26T19:10:22+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-26T00:06:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=43bfaa4a336095eb5697fb2df50909fd3c72ed14'/>
<id>urn:sha1:43bfaa4a336095eb5697fb2df50909fd3c72ed14</id>
<content type='text'>
Now that support has been removed, all lingering use cases are renamed.
</content>
</entry>
<entry>
<title>rollup merge of #23638: pnkfelix/fsk-reject-specialized-drops</title>
<updated>2015-03-24T22:27:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-24T22:27:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3b13b9c2b4e72d08cb1c68024ccc4f50001f4878'/>
<id>urn:sha1:3b13b9c2b4e72d08cb1c68024ccc4f50001f4878</id>
<content type='text'>
Reject specialized Drop impls.

See Issue #8142 for discussion.

This makes it illegal for a Drop impl to be more specialized than the original item.

So for example, all of the following are now rejected (when they would have been blindly accepted before):

```rust
struct S&lt;A&gt; { ... };
impl Drop for S&lt;i8&gt; { ... } // error: specialized to concrete type

struct T&lt;'a&gt; { ... };
impl Drop for T&lt;'static&gt; { ... } // error: specialized to concrete region

struct U&lt;A&gt; { ... };
impl&lt;A:Clone&gt; Drop for U&lt;A&gt; { ... } // error: added extra type requirement

struct V&lt;'a,'b&gt;;
impl&lt;'a,'b:a&gt; Drop for V&lt;'a,'b&gt; { ... } // error: added extra region requirement
```

Due to examples like the above, this is a [breaking-change].

(The fix is to either remove the specialization from the `Drop` impl, or to transcribe the requirements into the struct/enum definition; examples of both are shown in the PR's fixed to `libstd`.)

----

This is likely to be the last thing blocking the removal of the `#[unsafe_destructor]` attribute.

Fix #8142
Fix #23584
</content>
</entry>
<entry>
<title>Added `T:Send` bound to `sync::mpsc::Receiver` and `sync::mpsc::Sender`.</title>
<updated>2015-03-24T21:27:22+00:00</updated>
<author>
<name>Felix S. Klock II</name>
<email>pnkfelix@pnkfx.org</email>
</author>
<published>2015-03-21T12:14:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0adab507bbb0b04fe389a00af19fc17753b76343'/>
<id>urn:sha1:0adab507bbb0b04fe389a00af19fc17753b76343</id>
<content type='text'>
This was necessary to avoid specialized `Drop` impls for the two structs.
</content>
</entry>
<entry>
<title>std: Tweak rt::at_exit behavior</title>
<updated>2015-03-21T18:14:58+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-21T18:08:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1ec9adcfc0da7b1cdfe8d42f7eedcbd727c6861c'/>
<id>urn:sha1:1ec9adcfc0da7b1cdfe8d42f7eedcbd727c6861c</id>
<content type='text'>
There have been some recent panics on the bots and this commit is an attempt to
appease them. Previously it was considered invalid to run `rt::at_exit` after
the handlers had already started running. Due to the multithreaded nature of
applications, however, it is not always possible to guarantee this. For example
[this program][ex] will show off the abort.

[ex]: https://gist.github.com/alexcrichton/56300b87af6fa554e52d

The semantics of the `rt::at_exit` function have been modified as such:

* It is now legal to call `rt::at_exit` at any time. The return value now
  indicates whether the closure was successfully registered or not. Callers must
  now decide what to do with this information.
* The `rt::at_exit` handlers will now be run for a fixed number of iterations.
  Common cases (such as the example shown) may end up registering a new handler
  while others are running perhaps once or twice, so this common condition is
  covered by re-running the handlers a fixed number of times, after which new
  registrations are forbidden.

Some usage of `rt::at_exit` was updated to handle these new semantics, but
deprecated or unstable libraries calling `rt::at_exit` were not updated.
</content>
</entry>
<entry>
<title>Revert "Revert "std: Re-enable at_exit()""</title>
<updated>2015-03-20T17:56:27+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-01T18:19:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1cc9718fdef63476ffdf3f0bcd74b554b083f378'/>
<id>urn:sha1:1cc9718fdef63476ffdf3f0bcd74b554b083f378</id>
<content type='text'>
This reverts commit aec67c2ee0f673ea7b0e21c2fe7e0f26a523d823.
</content>
</entry>
<entry>
<title>std: Remove #[allow] directives in sys modules</title>
<updated>2015-03-12T17:23:27+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-10T03:04:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c933d44f7bb908aa520250b608f85bfacfccc337'/>
<id>urn:sha1:c933d44f7bb908aa520250b608f85bfacfccc337</id>
<content type='text'>
These were suppressing lots of interesting warnings! Turns out there was also
quite a bit of dead code.
</content>
</entry>
<entry>
<title>Use boxed functions instead of transmute</title>
<updated>2015-02-22T23:59:17+00:00</updated>
<author>
<name>Stepan Koltsov</name>
<email>stepan.koltsov@gmail.com</email>
</author>
<published>2015-02-22T23:58:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=26d9f0ab1aeb3d7b440911104cf17741f83aa0f5'/>
<id>urn:sha1:26d9f0ab1aeb3d7b440911104cf17741f83aa0f5</id>
<content type='text'>
... to convert between Box and raw pointers. E. g. use

```
let b: Box&lt;Foo&gt; = Box::from_raw(p);
```

instead of

```
let b: Box&lt;Foo&gt; = mem::transmute(p);
```

Patch also changes closure release code in `src/libstd/sys/unix/thread.rs`
when `pthread_create` failed. Raw pointer was transmuted to box of
`FnOnce()` instead of `Thunk`. This code was probably never executed,
because `pthread_create` rarely fails in practice.
</content>
</entry>
<entry>
<title>rollup merge of #22319: huonw/send-is-not-static</title>
<updated>2015-02-18T01:32:16+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-02-18T01:32:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ba8ce4c2c27643cccfbbc481a19bcf4b7747cc89'/>
<id>urn:sha1:ba8ce4c2c27643cccfbbc481a19bcf4b7747cc89</id>
<content type='text'>
Conflicts:
	src/libstd/sync/task_pool.rs
	src/libstd/thread.rs
	src/libtest/lib.rs
	src/test/bench/shootout-reverse-complement.rs
	src/test/bench/shootout-spectralnorm.rs
</content>
</entry>
<entry>
<title>Fallout from stabilization</title>
<updated>2015-02-17T23:14:17+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2015-02-17T23:10:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d0de2b46e9bcca93971ef64d6ecdef872633f246'/>
<id>urn:sha1:d0de2b46e9bcca93971ef64d6ecdef872633f246</id>
<content type='text'>
</content>
</entry>
</feed>
