bors [Tue, 7 Oct 2014 03:27:12 +0000 (03:27 +0000)]
auto merge of #17745 : aturon/rust/revert-any-private, r=alexcrichton
[Previously](https://github.com/rust-lang/rust/commit/e5da6a71a6a0b46dd3630fc8326e6d5906a1fde6), the `Any` trait was split into a private portion and an (empty) public portion, in order to hide the implementation strategy used for downcasting. However, the [new rules](https://github.com/rust-lang/rust/commit/e9ad12c0cae5c43ada6641c7dc840a0fbe5010a2) for privacy forbid `AnyPrivate` from actually being private.
This patch thus reverts the introduction of `AnyPrivate`.
Although this is unlikely to break any real code, it removes a public trait and is therefore a:
Aaron Turon [Fri, 3 Oct 2014 17:46:41 +0000 (10:46 -0700)]
Remove core::any::AnyPrivate
[Previously](https://github.com/rust-lang/rust/commit/e5da6a71a6a0b46dd3630fc8326e6d5906a1fde6),
the `Any` trait was split into a private portion and an (empty) public
portion, in order to hide the implementation strategy used for
downcasting. However, the [new
rules](https://github.com/rust-lang/rust/commit/e9ad12c0cae5c43ada6641c7dc840a0fbe5010a2)
for privacy forbid `AnyPrivate` from actually being private.
This patch thus reverts the introduction of `AnyPrivate`.
Although this is unlikely to break any real code, it removes a public
trait and is therefore a:
bors [Mon, 6 Oct 2014 16:47:13 +0000 (16:47 +0000)]
auto merge of #17798 : tomjakubowski/rust/rustdoc-fix-bounds, r=alexcrichton
This PR adds support in rustdoc for properly naming lifetimes in bounds, instead of just showing `'static` for everything. It also adds support for unboxed function sugar bounds, which were also previously rendered as `'static`.
bors [Mon, 6 Oct 2014 14:57:19 +0000 (14:57 +0000)]
auto merge of #17796 : tomjakubowski/rust/rustdoc-ice-17736, r=alexcrichton
Previously, external code might call `markdown::render()` without having
called `markdown::reset_headers()`, meaning the TLS key
`used_header_map` was unset. Now `markdown::render()` ensures that
`used_header_map` is set by calling `reset_headers` if necessary.
Tom Jakubowski [Sun, 5 Oct 2014 13:00:50 +0000 (06:00 -0700)]
rustdoc: make calls of markdown::render safer
Previously, external code might call `markdown::render()` without having
called `markdown::reset_headers()`, meaning the TLS key
`used_header_map` was unset. Now `markdown::render()` ensures that
`used_header_map` is set by calling `reset_headers` if necessary.
bors [Sun, 5 Oct 2014 09:07:06 +0000 (09:07 +0000)]
auto merge of #17777 : lambda/rust/fix-docs-short-hash, r=alexcrichton
The escaped newline in the middle of the variable reference breaks the
short hash substitution, leaving the link text exmpty; rewrap so that
each replacement is on its own line.
Brian Campbell [Sat, 4 Oct 2014 18:41:37 +0000 (14:41 -0400)]
docs: Fix short hash link to github
The escaped newline in the middle of the variable reference breaks the
short hash substitution, leaving the link text exmpty; rewrap so that
each replacement is on its own line.
bors [Sat, 4 Oct 2014 04:27:05 +0000 (04:27 +0000)]
auto merge of #17754 : O-I/rust/update-guide, r=steveklabnik
Hi,
These are a few small edits to the Guide that I made while reading online. Really well done and approachable.
I have a few questions below, but I don't know if this is the proper place to ask them, so feel free to ignore the below.
1. Trailing commas seem to be a convention in Rust and are used quite a bit throughout the Guide, but are never explicitly mentioned. Maybe adding a short mention about them when they first appear in the Structs section might be helpful to those who are unfamiliar with or don't use them in other languages.
2. In the Iterators section, there is a block of code like this:
My inclination would be to put a comma where the comment is to separate the two arms to get this to compile, but it runs fine either way. Is there a convention on commas for scenarios like this where each arm is enclosed in `{}`?
Brian Koropoff [Sat, 4 Oct 2014 02:40:19 +0000 (19:40 -0700)]
Fix type visitor glue for unboxed closures
This is a quick fix that prevents an ICE by mimicing the visitor
glue for boxed closures and bare functions. Ideally, the `TyVisitor`
interface will be improved in the future to allow representing
more information about unboxed closures such as Fn/FnMut/FnOnce
status, capture mode, and captured free variable types and offsets.
bors [Sat, 4 Oct 2014 00:17:04 +0000 (00:17 +0000)]
auto merge of #17731 : bkoropoff/rust/unboxed-by-ref, r=pcwalton
This began as an attempt to fix an ICE in borrowck (issue #17655), but the rabbit hole went pretty deep. I ended up plumbing support for capture-by-reference unboxed closures all the way into trans.
Rahul Horé [Fri, 3 Oct 2014 20:40:58 +0000 (16:40 -0400)]
Adds comma
Oddly (to me), this code runs fine without the comma separating the `Some` and `None` arms of the `match` construct. It seems like Rust doesn't require you to separate arms with commas if all the expressions are enclosed in braces.