Steve Klabnik [Sat, 24 Dec 2016 19:29:23 +0000 (14:29 -0500)]
Rollup merge of #38497 - QuietMisdreavus:rustdoc-where-again, r=steveklabnik
rustdoc: properly calculate line length for where clauses
Apparently, while I was cleaning up #37190, I regressed the formatting for long where clauses, where it wouldn't take the "prefix" length into account when deciding whether to break the line up. This patch fixes that.
Steve Klabnik [Sat, 24 Dec 2016 19:29:21 +0000 (14:29 -0500)]
Rollup merge of #38297 - matklad:linked-lists-are-not-cool, r=GuillaumeGomez
Advertise Vec in LinkedList docs
r? @steveklabnik
Hi! We already [advise](https://doc.rust-lang.org/std/collections/#use-a-linkedlist-when) to use `Vec` instead of `LinkedList` in the top-level collections documentation. But I think it may be missed by someone who just directly finds `LinkedList`.
What do you feel about advertising `Vec` directly in `LinkedList` docs as well?
Steve Klabnik [Sat, 24 Dec 2016 19:29:20 +0000 (14:29 -0500)]
Rollup merge of #38013 - wezm:simplify-test-notes, r=steveklabnik
Simplify notes on testing and concurrency
The start of the notes on tests running concurrently, added in https://github.com/rust-lang/rust/pull/37766 read a little awkwardly. This PR fixes that and simplifies the wording a bit.
bors [Sat, 24 Dec 2016 13:28:37 +0000 (13:28 +0000)]
Auto merge of #38062 - alexcrichton:fix-line-writer, r=brson
std: Fix partial writes in LineWriter
Previously the `LineWriter` could successfully write some bytes but then fail to
report that it has done so. Additionally, an erroneous flush after a successful
write was permanently ignored. This commit fixes these two issues by (a)
maintaining a `need_flush` flag to indicate whether a flush should be the first
operation in `LineWriter::write` and (b) avoiding returning an error once some
bytes have been successfully written.
bors [Sat, 24 Dec 2016 00:22:00 +0000 (00:22 +0000)]
Auto merge of #38268 - withoutboats:parse_where_higher_rank_hack, r=eddyb
Prevent where < ident > from parsing.
In order to be forward compatible with `where<'a>` syntax for higher
rank parameters, prevent potential conflicts with UFCS from parsing
correctly for the near term.
bors [Fri, 23 Dec 2016 21:36:59 +0000 (21:36 +0000)]
Auto merge of #38523 - camlorn:disable_field_reordering, r=nikomatsakis
Disable field reordering
This was decided via IRC and needs a backport to beta. Basically, #37429 broke servo, and probably needs an announcement and opt-in flag. I didn't run all tests locally but think I've already reverted all the ones that need to be reverted.
bors [Fri, 23 Dec 2016 18:43:12 +0000 (18:43 +0000)]
Auto merge of #38533 - jseyfried:legacy_custom_derive_deprecation, r=nrc
Allow legacy custom derive authors to disable warnings in downstream crates
This PR allows legacy custom derive authors to use a pre-deprecated method `registry.register_custom_derive()` instead of `registry.register_syntax_extension()` to avoid downstream deprecation warnings.
bors [Fri, 23 Dec 2016 09:09:26 +0000 (09:09 +0000)]
Auto merge of #38401 - redox-os:redox_cross, r=brson
Redox Cross Compilation
I will admit - there are things here that I wish I did not have to do. This completes the ability to create a cross compiler from the rust repository for `x86_64-unknown-redox`. I will document this PR with inline comments explaining some things.
bors [Fri, 23 Dec 2016 06:22:45 +0000 (06:22 +0000)]
Auto merge of #38232 - jseyfried:refactor_global_paths, r=nrc
Refactor global paths
This PR removes the field `global: bool` from `ast::Path` and `hir::Path`, instead representing a global path `::foo::bar` as `{{root}}::foo::bar`, where `{{root}}` is a virtual keyword `keywords::CrateRoot`.
Is there anything I'm missing? Were there any library stabilizations?
The most interesting thing this time seems to be rustup, then compile time opts, `..` matches, cargo exposing `cfg` values to build scripts. This release also has wasm support, but it's pretty rough. Might be worth hyping up all the same. ARM MUSL targets.
There are a large number of compatibility notes. Might be worth talking about that.
bors [Wed, 21 Dec 2016 10:38:22 +0000 (10:38 +0000)]
Auto merge of #38302 - Mark-Simulacrum:trans-cleanup, r=eddyb
Cleanup old trans
This is a cleanup of old trans, with the following main points:
- Remove the `build.rs` API (prefer using `Builder` directly, which is now passed where needed through `BlockAndBuilder`).
- Remove `Block` (inlining it into `BlockAndBuilder`)
- Remove `Callee::call`, primarily through inlining and simplification of code.
- Thinned `FunctionContext`:
- `mir`, `debug_scopes`, `scopes`, and `fn_ty` are moved to `MirContext`.
- `param_env` is moved to `SharedCrateContext` and renamed to `empty_param_env`.
- `llretslotptr` is removed, replaced with more careful management of the return values in calls.
- `landingpad_alloca` is inlined into cleanup.
- `param_substs` are moved to `MirContext`.
- `span` is removed, it was never set to anything but `None`.
- `block_arena` and `lpad_arena` are removed, since neither was necessary (landing pads and block are quite small, and neither needs arena allocation).
- Fixed `drop_in_place` not running other destructors in the same function.
bors [Wed, 21 Dec 2016 03:09:14 +0000 (03:09 +0000)]
Auto merge of #38506 - alexcrichton:fix-makefiles, r=brson
mk: Fix compile with makefiles
A tweak was made to dependencies in #38451 but the makefiles weren't updated to
accompany this. Instead of trying to integerate the `build_helper` crate into
the makefiles (which currently isn't present) this commit takes the approach of
just duplicating the required logic, which should be small enough for now.
Mark Simulacrum [Tue, 20 Dec 2016 00:59:26 +0000 (17:59 -0700)]
Do not use BAB after calling unreachable.
This does not make unreachable and other terminators take self by-value
because it is deemed too difficult. We would need to create by-value
methods on BAB that call into Builder, due to the Deref to builder.