<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys, branch 1.0.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.0.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.0.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-05-11T18:22:01+00:00</updated>
<entry>
<title>Merge pull request #25299 from alexcrichton/beta-backport</title>
<updated>2015-05-11T18:22:01+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>andersrb@gmail.com</email>
</author>
<published>2015-05-11T18:22:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fd815b7a57b0214362d53b5e4e0dc282c5c26dfd'/>
<id>urn:sha1:fd815b7a57b0214362d53b5e4e0dc282c5c26dfd</id>
<content type='text'>
Backport mem::forget to beta</content>
</entry>
<entry>
<title>Squeeze the last bits of `task`s in documentation in favor of `thread`</title>
<updated>2015-05-11T17:05:21+00:00</updated>
<author>
<name>Barosl Lee</name>
<email>vcs@barosl.com</email>
</author>
<published>2015-05-11T17:05:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=276b436530aa9714f23b436dec7e865cbeb8bdc4'/>
<id>urn:sha1:276b436530aa9714f23b436dec7e865cbeb8bdc4</id>
<content type='text'>
An automated script was run against the `.rs` and `.md` files,
subsituting every occurrence of `task` with `thread`. In the `.rs`
files, only the texts in the comment blocks were affected.
</content>
</entry>
<entry>
<title>std: Mark `mem::forget` as a safe function</title>
<updated>2015-05-11T06:16:54+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-05-07T17:49:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7b78086ba4c6bfc656bc0d8b3171aa9929f593dc'/>
<id>urn:sha1:7b78086ba4c6bfc656bc0d8b3171aa9929f593dc</id>
<content type='text'>
This commit is an implementation of [RFC 1066][rfc] where the conclusion was
that leaking a value is a safe operation in Rust code, so updating the signature
of this function follows suit.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1066-safe-mem-forget.md

Closes #25186
</content>
</entry>
<entry>
<title>Add downcasting to std::error::Error</title>
<updated>2015-05-05T17:57:01+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2015-04-24T21:34:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=279eaabfda25072f3ba20d4c8ea5fdd4f29382ea'/>
<id>urn:sha1:279eaabfda25072f3ba20d4c8ea5fdd4f29382ea</id>
<content type='text'>
This commit brings the `Error` trait in line with the [Error interoperation
RFC](https://github.com/rust-lang/rfcs/pull/201) by adding downcasting,
which has long been intended. This change means that for any `Error`
trait objects that are `'static`, you can downcast to concrete error
types.

To make this work, it is necessary for `Error` to inherit from
`Reflect` (which is currently used to mark concrete types as "permitted
for reflection, aka downcasting"). This is a breaking change: it means
that impls like

```rust
impl&lt;T&gt; Error for MyErrorType&lt;T&gt; { ... }
```

must change to something like

```rust
impl&lt;T: Reflect&gt; Error for MyErrorType&lt;T&gt; { ... }
```

except that `Reflect` is currently unstable (and should remain so for
the time being). For now, code can instead bound by `Any`:

```rust
impl&lt;T: Any&gt; Error for MyErrorType&lt;T&gt; { ... }
```

which *is* stable and has `Reflect` as a super trait. The downside is
that this imposes a `'static` constraint, but that only
constrains *when* `Error` is implemented -- it does not actually
constrain the types that can implement `Error`.

[breaking-change]

Conflicts:
	src/libcore/marker.rs
</content>
</entry>
<entry>
<title>Test fixes and rebase conflicts</title>
<updated>2015-04-30T23:52:54+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-30T00:05:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=850151a75709f146addd30bbbf1f23d384f0b381'/>
<id>urn:sha1:850151a75709f146addd30bbbf1f23d384f0b381</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Fix inheriting standard handles on windows</title>
<updated>2015-04-30T22:11:47+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-27T20:44:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=37277a8d3329253e5784eaced9a77d1294199a6b'/>
<id>urn:sha1:37277a8d3329253e5784eaced9a77d1294199a6b</id>
<content type='text'>
Currently if a standard I/O handle is set to inherited on Windows, no action is
taken and the slot in the process information description is set to
`INVALID_HANDLE_VALUE`. Due to our passing of `STARTF_USESTDHANDLES`, however,
this means that the handle is actually set to nothing and if a child tries to
print it will generate an error.

This commit fixes this behavior by explicitly creating stdio handles to be
placed in these slots by duplicating the current process's I/O handles. This is
presumably what previously happened silently by using a file-descriptor-based
implementation instead of a `HANDLE`-centric implementation.

Along the way this cleans up a lot of code in `Process::spawn` for Windows by
ensuring destructors are always run, using more RAII, and limiting the scope of
`unsafe` wherever possible.
</content>
</entry>
<entry>
<title>Remove an unused import on windows</title>
<updated>2015-04-25T18:02:56+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-25T18:02:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=92d9289d90f2d5792da7743868ae52e8cfa90ad5'/>
<id>urn:sha1:92d9289d90f2d5792da7743868ae52e8cfa90ad5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Test fixes and rebase conflicts, round 1</title>
<updated>2015-04-23T22:18:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-21T22:59:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fc74ba2bb0f99c43ae5aee115602dff25fc2494d'/>
<id>urn:sha1:fc74ba2bb0f99c43ae5aee115602dff25fc2494d</id>
<content type='text'>
Conflicts:
	src/test/run-pass/task-stderr.rs
</content>
</entry>
<entry>
<title>std: Bring back f32::from_str_radix as an unstable API</title>
<updated>2015-04-23T22:18:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-18T06:45:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1c9aa362292555566e4ff8366f574b70ff59d5c8'/>
<id>urn:sha1:1c9aa362292555566e4ff8366f574b70ff59d5c8</id>
<content type='text'>
This API was exercised in a few tests and mirrors the `from_str_radix`
functionality of the integer types.

Conflicts:
	src/doc/trpl/traits.md
	src/libstd/sys/windows/fs2.rs
</content>
</entry>
<entry>
<title>std: Remove deprecated/unstable num functionality</title>
<updated>2015-04-23T22:18:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-17T22:32:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0372484acc0270585479caf8cdccc6eb0106d8be'/>
<id>urn:sha1:0372484acc0270585479caf8cdccc6eb0106d8be</id>
<content type='text'>
This commit removes all the old casting/generic traits from `std::num` that are
no longer in use by the standard library. This additionally removes the old
`strconv` module which has not seen much use in quite a long time. All generic
functionality has been supplanted with traits in the `num` crate and the
`strconv` module is supplanted with the [rust-strconv crate][rust-strconv].

[rust-strconv]: https://github.com/lifthrasiir/rust-strconv

This is a breaking change due to the removal of these deprecated crates, and the
alternative crates are listed above.

[breaking-change]

Conflicts:
	src/libstd/num/strconv.rs
</content>
</entry>
</feed>
