<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/comm, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2014-12-29T20:16:49+00:00</updated>
<entry>
<title>std: Second pass stabilization for `comm`</title>
<updated>2014-12-29T20:16:49+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-12-23T19:53:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bc83a009f655dd3896be4a7cd33cac8032a605f2'/>
<id>urn:sha1:bc83a009f655dd3896be4a7cd33cac8032a605f2</id>
<content type='text'>
This commit is a second pass stabilization for the `std::comm` module,
performing the following actions:

* The entire `std::comm` module was moved under `std::sync::mpsc`. This movement
  reflects that channels are just yet another synchronization primitive, and
  they don't necessarily deserve a special place outside of the other
  concurrency primitives that the standard library offers.
* The `send` and `recv` methods have all been removed.
* The `send_opt` and `recv_opt` methods have been renamed to `send` and `recv`.
  This means that all send/receive operations return a `Result` now indicating
  whether the operation was successful or not.
* The error type of `send` is now a `SendError` to implement a custom error
  message and allow for `unwrap()`. The error type contains an `into_inner`
  method to extract the value.
* The error type of `recv` is now `RecvError` for the same reasons as `send`.
* The `TryRecvError` and `TrySendError` types have had public reexports removed
  of their variants and the variant names have been tweaked with enum
  namespacing rules.
* The `Messages` iterator is renamed to `Iter`

This functionality is now all `#[stable]`:

* `Sender`
* `SyncSender`
* `Receiver`
* `std::sync::mpsc`
* `channel`
* `sync_channel`
* `Iter`
* `Sender::send`
* `Sender::clone`
* `SyncSender::send`
* `SyncSender::try_send`
* `SyncSender::clone`
* `Receiver::recv`
* `Receiver::try_recv`
* `Receiver::iter`
* `SendError`
* `RecvError`
* `TrySendError::{mod, Full, Disconnected}`
* `TryRecvError::{mod, Empty, Disconnected}`
* `SendError::into_inner`
* `TrySendError::into_inner`

This is a breaking change due to the modification of where this module is
located, as well as the changing of the semantics of `send` and `recv`. Most
programs just need to rename imports of `std::comm` to `std::sync::mpsc` and
add calls to `unwrap` after a send or a receive operation.

[breaking-change]
</content>
</entry>
<entry>
<title>std: Stabilize the prelude module</title>
<updated>2014-12-29T16:58:21+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-12-22T17:04:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c32d03f4172580e3f33e4844ed3c01234dca2d53'/>
<id>urn:sha1:c32d03f4172580e3f33e4844ed3c01234dca2d53</id>
<content type='text'>
This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
  prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
  at once to `std::io::prelude::*`.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]

Closes #20068
</content>
</entry>
<entry>
<title>auto merge of #20119 : FlaPer87/rust/oibit-send-and-friends, r=nikomatsakis</title>
<updated>2014-12-27T13:11:48+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2014-12-27T13:11:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4a4c89c7a4a763c253a97ff04647f52aca6a5490'/>
<id>urn:sha1:4a4c89c7a4a763c253a97ff04647f52aca6a5490</id>
<content type='text'>
More work on opt-in built in traits. `Send` and `Sync` are not opt-in, `OwnedPtr` renamed to `UniquePtr` and the `Send` and `Sync` traits are now unsafe.

NOTE: This likely needs to be rebased on top of the yet-to-land snapshot.

r? @nikomatsakis 

cc #13231 
</content>
</entry>
<entry>
<title>Fix fallout</title>
<updated>2014-12-26T20:55:25+00:00</updated>
<author>
<name>Nick Cameron</name>
<email>ncameron@mozilla.com</email>
</author>
<published>2014-11-28T03:02:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dbde7419cc120d97e520063682751dfc3a901fb5'/>
<id>urn:sha1:dbde7419cc120d97e520063682751dfc3a901fb5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Relax `Arc` bounds don't require Sync+Send</title>
<updated>2014-12-26T16:26:33+00:00</updated>
<author>
<name>Flavio Percoco</name>
<email>flaper87@gmail.com</email>
</author>
<published>2014-12-22T16:15:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=88186934960dae4f616df815eb25205c2713f503'/>
<id>urn:sha1:88186934960dae4f616df815eb25205c2713f503</id>
<content type='text'>
Besides the above making sense, it'll also allow us to make `RacyCell`
private and use UnsafeCell instead.
</content>
</entry>
<entry>
<title>Move RacyCell to `std::comm`</title>
<updated>2014-12-26T16:26:33+00:00</updated>
<author>
<name>Flavio Percoco</name>
<email>flaper87@gmail.com</email>
</author>
<published>2014-12-22T11:29:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e2116c8fba6e73bc2bbf7cb6bb41911d4daed043'/>
<id>urn:sha1:e2116c8fba6e73bc2bbf7cb6bb41911d4daed043</id>
<content type='text'>
RacyCell is not exactly what we'd like as a final implementation for
this. Therefore, we're moving it under `std::comm` and also making it
private.
</content>
</entry>
<entry>
<title>Make Send and Sync traits unsafe</title>
<updated>2014-12-26T16:26:33+00:00</updated>
<author>
<name>Flavio Percoco</name>
<email>flaper87@gmail.com</email>
</author>
<published>2014-12-21T23:49:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f436f9ca2963e33cc41802370bb9c551c833970e'/>
<id>urn:sha1:f436f9ca2963e33cc41802370bb9c551c833970e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Require types to opt-in Sync</title>
<updated>2014-12-26T16:26:32+00:00</updated>
<author>
<name>Flavio Percoco</name>
<email>flaper87@gmail.com</email>
</author>
<published>2014-12-06T16:39:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fb803a857000813e4d572900799f0498fb20050b'/>
<id>urn:sha1:fb803a857000813e4d572900799f0498fb20050b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix some spelling errors.</title>
<updated>2014-12-23T05:13:15+00:00</updated>
<author>
<name>Huon Wilson</name>
<email>dbau.pp+github@gmail.com</email>
</author>
<published>2014-12-18T23:10:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=832c3e3cd725d85963c70cfdce26b13a5c0d508f'/>
<id>urn:sha1:832c3e3cd725d85963c70cfdce26b13a5c0d508f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stabilize clone</title>
<updated>2014-12-20T08:37:44+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2014-12-20T08:35:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=92ccc073e1a5a68fada24b5b3cb47b65b5ff1c61'/>
<id>urn:sha1:92ccc073e1a5a68fada24b5b3cb47b65b5ff1c61</id>
<content type='text'>
This patch marks `clone` stable, as well as the `Clone` trait, but
leaves `clone_from` unstable. The latter will be decided by the beta.

The patch also marks most manual implementations of `Clone` as stable,
except where the APIs are otherwise deprecated or where there is
uncertainty about providing `Clone`.
</content>
</entry>
</feed>
