<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/io/net, 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-01-27T00:01:16+00:00</updated>
<entry>
<title>std: Rename io to old_io</title>
<updated>2015-01-27T00:01:16+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-23T00:27:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f72b1645103e12b581f7022b893c37b5fe41aef7'/>
<id>urn:sha1:f72b1645103e12b581f7022b893c37b5fe41aef7</id>
<content type='text'>
In preparation for the I/O rejuvination of the standard library, this commit
renames the current `io` module to `old_io` in order to make room for the new
I/O modules. It is expected that the I/O RFCs will land incrementally over time
instead of all at once, and this provides a fresh clean path for new modules to
enter into as well as guaranteeing that all old infrastructure will remain in
place for some time.

As each `old_io` module is replaced it will be deprecated in-place for new
structures in `std::{io, fs, net}` (as appropriate).

This commit does *not* leave a reexport of `old_io as io` as the deprecation
lint does not currently warn on this form of use. This is quite a large breaking
change for all imports in existing code, but all functionality is retained
precisely as-is and path statements simply need to be renamed from `io` to
`old_io`.

[breaking-change]
</content>
</entry>
<entry>
<title>rollup merge of #21258: aturon/stab-3-index</title>
<updated>2015-01-21T19:53:49+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-21T19:53:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=886c6f3534e6f03916eeff2ea8b235e85dd04b42'/>
<id>urn:sha1:886c6f3534e6f03916eeff2ea8b235e85dd04b42</id>
<content type='text'>
Conflicts:
	src/libcore/ops.rs
	src/librustc_typeck/astconv.rs
	src/libstd/io/mem.rs
	src/libsyntax/parse/lexer/mod.rs
</content>
</entry>
<entry>
<title>Fallout from stabilization.</title>
<updated>2015-01-21T16:11:07+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2015-01-18T00:15:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a506d4cbfe8f20a2725c7efd9d43359a0bbd0e9e'/>
<id>urn:sha1:a506d4cbfe8f20a2725c7efd9d43359a0bbd0e9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Rename Show/String to Debug/Display</title>
<updated>2015-01-21T06:36:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-20T23:45:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3cb9fa26ef9905c00a29ea577fb55a12a91c8e7b'/>
<id>urn:sha1:3cb9fa26ef9905c00a29ea577fb55a12a91c8e7b</id>
<content type='text'>
This commit is an implementation of [RFC 565][rfc] which is a stabilization of
the `std::fmt` module and the implementations of various formatting traits.
Specifically, the following changes were performed:

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0565-show-string-guidelines.md

* The `Show` trait is now deprecated, it was renamed to `Debug`
* The `String` trait is now deprecated, it was renamed to `Display`
* Many `Debug` and `Display` implementations were audited in accordance with the
  RFC and audited implementations now have the `#[stable]` attribute
  * Integers and floats no longer print a suffix
  * Smart pointers no longer print details that they are a smart pointer
  * Paths with `Debug` are now quoted and escape characters
* The `unwrap` methods on `Result` now require `Display` instead of `Debug`
* The `Error` trait no longer has a `detail` method and now requires that
  `Display` must be implemented. With the loss of `String`, this has moved into
  libcore.
* `impl&lt;E: Error&gt; FromError&lt;E&gt; for Box&lt;Error&gt;` now exists
* `derive(Show)` has been renamed to `derive(Debug)`. This is not currently
  warned about due to warnings being emitted on stage1+

While backwards compatibility is attempted to be maintained with a blanket
implementation of `Display` for the old `String` trait (and the same for
`Show`/`Debug`) this is still a breaking change due to primitives no longer
implementing `String` as well as modifications such as `unwrap` and the `Error`
trait. Most code is fairly straightforward to update with a rename or tweaks of
method calls.

[breaking-change]
Closes #21436
</content>
</entry>
<entry>
<title>Evaluate # fn in docs</title>
<updated>2015-01-17T15:49:49+00:00</updated>
<author>
<name>Steve Klabnik</name>
<email>steve@steveklabnik.com</email>
</author>
<published>2015-01-12T21:59:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=078bd498b9fa6eab40df147ce6015ab9aae62b40'/>
<id>urn:sha1:078bd498b9fa6eab40df147ce6015ab9aae62b40</id>
<content type='text'>
I searched for times when we were hiding functions with # in the documentation,
and fixed them to not use it unless neccesary.

I also made random improvements whenever I changed something. For example,
I changed Example to Examples, for consistency.

Fixes #13423
</content>
</entry>
<entry>
<title>cleanup: `&amp;foo[0..a]` -&gt; `&amp;foo[..a]`</title>
<updated>2015-01-12T22:59:37+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2015-01-12T21:59:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c1d48a85082cfe3683ad9eda5223d3259d4fa718'/>
<id>urn:sha1:c1d48a85082cfe3683ad9eda5223d3259d4fa718</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improvements to feature staging</title>
<updated>2015-01-08T11:07:23+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2015-01-07T23:48:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1f70acbf4c4f345265a7626bd927187d3bfed91f'/>
<id>urn:sha1:1f70acbf4c4f345265a7626bd927187d3bfed91f</id>
<content type='text'>
This gets rid of the 'experimental' level, removes the non-staged_api
case (i.e. stability levels for out-of-tree crates), and lets the
staged_api attributes use 'unstable' and 'deprecated' lints.

This makes the transition period to the full feature staging design
a bit nicer.
</content>
</entry>
<entry>
<title>use slicing sugar</title>
<updated>2015-01-07T22:35:56+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2015-01-07T16:58:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=517f1cc63c1a5df148fdeef56791f66771d3d8e8'/>
<id>urn:sha1:517f1cc63c1a5df148fdeef56791f66771d3d8e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More test fixes</title>
<updated>2015-01-07T05:26:48+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-07T00:16:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a64000820f0fc32be4d7535a9a92418a434fa4ba'/>
<id>urn:sha1:a64000820f0fc32be4d7535a9a92418a434fa4ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rollup merge of #20615: aturon/stab-2-thread</title>
<updated>2015-01-06T23:38:38+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-06T23:38:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=36f5d122b80682de473aeda2e20f14b6ceb86d74'/>
<id>urn:sha1:36f5d122b80682de473aeda2e20f14b6ceb86d74</id>
<content type='text'>
This commit takes a first pass at stabilizing `std::thread`:

* It removes the `detach` method in favor of two constructors -- `spawn`
  for detached threads, `scoped` for "scoped" (i.e., must-join)
  threads. This addresses some of the surprise/frustrating debug
  sessions with the previous API, in which `spawn` produced a guard that
  on destruction joined the thread (unless `detach` was called).

  The reason to have the division in part is that `Send` will soon not
  imply `'static`, which means that `scoped` thread creation can take a
  closure over *shared stack data* of the parent thread. On the other
  hand, this means that the parent must not pop the relevant stack
  frames while the child thread is running. The `JoinGuard` is used to
  prevent this from happening by joining on drop (if you have not
  already explicitly `join`ed.) The APIs around `scoped` are
  future-proofed for the `Send` changes by taking an additional lifetime
  parameter. With the current definition of `Send`, this is forced to be
  `'static`, but when `Send` changes these APIs will gain their full
  flexibility immediately.

  Threads that are `spawn`ed, on the other hand, are detached from the
  start and do not yield an RAII guard.

  The hope is that, by making `scoped` an explicit opt-in with a very
  suggestive name, it will be drastically less likely to be caught by a
  surprising deadlock due to an implicit join at the end of a scope.

* The module itself is marked stable.

* Existing methods other than `spawn` and `scoped` are marked stable.

The migration path is:

```rust
Thread::spawn(f).detached()
```

becomes

```rust
Thread::spawn(f)
```

while

```rust
let res = Thread::spawn(f);
res.join()
```

becomes

```rust
let res = Thread::scoped(f);
res.join()
```

[breaking-change]
</content>
</entry>
</feed>
