<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/unix/pipe.rs, 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-03-26T19:10:22+00:00</updated>
<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>Fallout of std::old_io deprecation</title>
<updated>2015-03-13T17:00:28+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-11T22:24:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=981bf5f690d1d7c5cf3e1419ac7a7c86dbc7a4d5'/>
<id>urn:sha1:981bf5f690d1d7c5cf3e1419ac7a7c86dbc7a4d5</id>
<content type='text'>
</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>Assert is internal now (fixup #22739)</title>
<updated>2015-02-25T08:41:37+00:00</updated>
<author>
<name>Manish Goregaokar</name>
<email>manishsmail@gmail.com</email>
</author>
<published>2015-02-25T08:41:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2470fa155e8a0793d725891da2e6963c762fa674'/>
<id>urn:sha1:2470fa155e8a0793d725891da2e6963c762fa674</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hide unnecessary error checking from the user</title>
<updated>2015-02-23T22:52:24+00:00</updated>
<author>
<name>Tobias Bucher</name>
<email>tobiasbucher5991@gmail.com</email>
</author>
<published>2015-02-23T22:50:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d0c589d5ced5006f72d766af2ccecf699ff76176'/>
<id>urn:sha1:d0c589d5ced5006f72d766af2ccecf699ff76176</id>
<content type='text'>
This affects the `set_non_blocking` function which cannot fail for Unix or
Windows, given correct parameters. Additionally, the short UDP write error case
has been removed as there is no such thing as "short UDP writes", instead, the
operating system will error out if the application tries to send a packet
larger than the MTU of the network path.
</content>
</entry>
<entry>
<title>std: Implement CString-related RFCs</title>
<updated>2015-02-18T22:15:43+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-02-18T06:47:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1860ee521aa6096eb7f5410a64b53311fb0d2d0e'/>
<id>urn:sha1:1860ee521aa6096eb7f5410a64b53311fb0d2d0e</id>
<content type='text'>
This commit is an implementation of [RFC 592][r592] and [RFC 840][r840]. These
two RFCs tweak the behavior of `CString` and add a new `CStr` unsized slice type
to the module.

[r592]: https://github.com/rust-lang/rfcs/blob/master/text/0592-c-str-deref.md
[r840]: https://github.com/rust-lang/rfcs/blob/master/text/0840-no-panic-in-c-string.md

The new `CStr` type is only constructable via two methods:

1. By `deref`'ing from a `CString`
2. Unsafely via `CStr::from_ptr`

The purpose of `CStr` is to be an unsized type which is a thin pointer to a
`libc::c_char` (currently it is a fat pointer slice due to implementation
limitations). Strings from C can be safely represented with a `CStr` and an
appropriate lifetime as well. Consumers of `&amp;CString` should now consume `&amp;CStr`
instead to allow producers to pass in C-originating strings instead of just
Rust-allocated strings.

A new constructor was added to `CString`, `new`, which takes `T: IntoBytes`
instead of separate `from_slice` and `from_vec` methods (both have been
deprecated in favor of `new`). The `new` method returns a `Result` instead of
panicking.  The error variant contains the relevant information about where the
error happened and bytes (if present). Conversions are provided to the
`io::Error` and `old_io::IoError` types via the `FromError` trait which
translate to `InvalidInput`.

This is a breaking change due to the modification of existing `#[unstable]` APIs
and new deprecation, and more detailed information can be found in the two RFCs.
Notable breakage includes:

* All construction of `CString` now needs to use `new` and handle the outgoing
  `Result`.
* Usage of `CString` as a byte slice now explicitly needs a `.as_bytes()` call.
* The `as_slice*` methods have been removed in favor of just having the
  `as_bytes*` methods.

Closes #22469
Closes #22470
[breaking-change]
</content>
</entry>
<entry>
<title>remove all kind annotations from closures</title>
<updated>2015-02-05T01:06:08+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2015-02-01T17:44:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=571cc7f8e98da46735a5728387c768cde75d010c'/>
<id>urn:sha1:571cc7f8e98da46735a5728387c768cde75d010c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fallout of io =&gt; 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:31:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3a07f859b880bfe4dd6f095c959422d7c6b53831'/>
<id>urn:sha1:3a07f859b880bfe4dd6f095c959422d7c6b53831</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Redesign c_str and c_vec</title>
<updated>2015-01-05T16:00:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-11-25T21:28:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ec7a50d20dff416d9fec837a6492dfe244f5f3ab'/>
<id>urn:sha1:ec7a50d20dff416d9fec837a6492dfe244f5f3ab</id>
<content type='text'>
This commit is an implementation of [RFC 494][rfc] which removes the entire
`std::c_vec` module and redesigns the `std::c_str` module as `std::ffi`.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0494-c_str-and-c_vec-stability.md

The interface of the new `CString` is outlined in the linked RFC, the primary
changes being:

* The `ToCStr` trait is gone, meaning the `with_c_str` and `to_c_str` methods
  are now gone. These two methods are replaced with a `CString::from_slice`
  method.
* The `CString` type is now just a wrapper around `Vec&lt;u8&gt;` with a static
  guarantee that there is a trailing nul byte with no internal nul bytes. This
  means that `CString` now implements `Deref&lt;Target = [c_char]&gt;`, which is where
  it gains most of its methods from. A few helper methods are added to acquire a
  slice of `u8` instead of `c_char`, as well as including a slice with the
  trailing nul byte if necessary.
* All usage of non-owned `CString` values is now done via two functions inside
  of `std::ffi`, called `c_str_to_bytes` and `c_str_to_bytes_with_nul`. These
  functions are now the one method used to convert a `*const c_char` to a Rust
  slice of `u8`.

Many more details, including newly deprecated methods, can be found linked in
the RFC. This is a:

[breaking-change]
Closes #20444
</content>
</entry>
<entry>
<title>Remove deprecated functionality</title>
<updated>2015-01-04T07:43:57+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-02T07:53:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7d8d06f86b48520814596bd5363d2b82bc619774'/>
<id>urn:sha1:7d8d06f86b48520814596bd5363d2b82bc619774</id>
<content type='text'>
This removes a large array of deprecated functionality, regardless of how
recently it was deprecated. The purpose of this commit is to clean out the
standard libraries and compiler for the upcoming alpha release.

Some notable compiler changes were to enable warnings for all now-deprecated
command line arguments (previously the deprecated versions were silently
accepted) as well as removing deriving(Zero) entirely (the trait was removed).

The distribution no longer contains the libtime or libregex_macros crates. Both
of these have been deprecated for some time and are available externally.
</content>
</entry>
</feed>
