Commit Graph

79580 Commits

Author SHA1 Message Date
bors 2a1c4eec40 Auto merge of #51785 - cuviper:fstatat64, r=Mark-Simulacrum
Use fstatat64 where available

None
2018-06-25 19:40:56 +00:00
Josh Stone 65d31d7269 Use fstatat64 where available 2018-06-25 11:42:27 -07:00
bors b7c6e8f180 Auto merge of #51728 - bradjc:llvm-tools2, r=kennytm
build: add llvm-tools to manifest

This commit expands on a previous commit to build llvm-tools as a rustup component. It causes the llvm-tools component to be built if the extended step is active. It also adds llvm-tools to the build manifest so rustup can find it.

I tested this as far as I could, but had to hack `build-manifest/src/main.rs` a bit as it is not supported on MacOS. The main change I am not sure about is this line:

```rust
self.package("llvm-tools", &mut manifest.pkg, TARGETS);
```

There are numerous calls to `self.package()`, and I'm not sure if `TARGETS`, `HOSTS`, or `["*"]` is appropriate for llvm-tools.

Otherwise I mostly copied the example set by `rustfmt-preview`.
2018-06-25 17:22:12 +00:00
bors 8acec1f9d0 Auto merge of #51750 - zackmdavis:superstructure, r=oli-obk
three diagnostics upgrades

 * reword `...` expression syntax error to not imply that you should use it in patterns either (#51043) and make it a structured suggestion
 * shorten the top-line message for the trivial-casts lint by tucking the advisory sentence into a help note
 * structured suggestion for pattern-named-the-same-as-variant warning

r? @oli-obk
2018-06-25 13:43:22 +00:00
bors ecfe37056f Auto merge of #51733 - varkor:ice-match-slice, r=oli-obk
Fix an ICE when matching over const slices

Fixes #51655. I'm not super familiar with this code, so tell me if this is the wrong approach 😅

r? @oli-obk
2018-06-25 11:36:13 +00:00
bors 446aef691e Auto merge of #51335 - mark-i-m:allocator, r=oli-obk
Prohibit `global_allocator` in submodules

Background: #44113 is caused by weird interactions with hygiene. Hygiene is hard. After a lot of playing around, we decided that the best path forward would be to prohibit `global_allocator`s from being in submodules for now. When somebody gets it working, we can re-enable it.

This PR contains the following
- Some hygiene "fixes" -- things I suspect are the correct thing to do that will make life easier in the future. This includes using call_site hygiene for the generated module and passing the correct crate name to the expansion config.
- Comments and minor formatting fixes
- Some debugging code
- Code to prohibit `global_allocator` in submodules
- Test checking that the proper error occurs.

cc #44113 #49320 #51241

r? @alexcrichton
2018-06-25 08:54:16 +00:00
bors 5f9c7f9e6d Auto merge of #51688 - spastorino:error-note-field-after-move, r=nikomatsakis
Fix erroneous error note when using field after move

Closes #51512

r? @nikomatsakis
2018-06-25 06:44:08 +00:00
mark 16d7f87b6c used debug, not info 2018-06-24 16:16:14 -05:00
mark 997655cf87 actually fix test 2018-06-24 16:16:14 -05:00
mark e3534028eb fix test 2018-06-24 16:16:14 -05:00
Mark Mansi 08479aabd0 enable fold_mac 2018-06-24 16:16:14 -05:00
Mark Mansi 792772a93b Prohibit global_allocator in submodules for now
- we need to figure out hygiene first
- change the test to check that the prohibition works with a good error
  msg
- leaves some comments and debugging code
- leaves some of our supposed fixes
2018-06-24 16:15:13 -05:00
Mark Mansi 5da4ff8180 Attempt to fix hygiene for global_allocator 2018-06-24 16:10:20 -05:00
bors 01cc982e93 Auto merge of #51740 - GuillaumeGomez:fix-error-code-numbers, r=cramertj
Fix error code numbers

Fixes issue created by #51580.

r? @cramertj
2018-06-24 15:08:48 +00:00
Zack M. Davis 0b39a82cf4 in which the trivial-casts word to the wise is tucked into a help note
The top level message shouldn't be too long; the
replaced-by-coercion/temporary-variable advice can live in a note. Also,
don't mention type ascription when it's not actually available as a real
thing. (The current state of discussion on the type ascription tracking
issue #23416 makes one rather suspect it will never be a stable thing in
its current form, but that's not for us to adjudicate in this commit.)

While we're here, yank out the differentiating parts of the
numeric/other conditional and only have one codepath emitting the
diagnostic.
2018-06-23 22:57:37 -07:00
Zack M. Davis a417518173 structured suggestion and rewording for `...` expression syntax error
Now that `..=` inclusive ranges are stabilized, people probably
shouldn't be using `...` even in patterns, even if it's still legal
there (see #51043). To avoid drawing attention to `...` being a real
thing, let's reword this message to just say "unexpected token" rather
"cannot be used in expressions".
2018-06-23 22:57:37 -07:00
Zack M. Davis 4650361fb6 use structured suggestion for pattern-named-the-same-as-variant warning 2018-06-23 22:57:37 -07:00
bors 3874676dc6 Auto merge of #51726 - petrochenkov:hygclean, r=oli-obk
expansion/hygiene: Some renaming, refactoring and comments

Pure refactoring, no functional changes.
Commits are isolated and self-descriptive.
2018-06-24 01:06:21 +00:00
bors 8fb1180d27 Auto merge of #51739 - Amanieu:update_rustfmt, r=Mark-Simulacrum
Update rustfmt submodule

The version of rustfmt currently shipped with nightly breaks code that uses `break 'label`. This PR updates the submodule to include the fix (https://github.com/rust-lang-nursery/rustfmt/pull/2774).
2018-06-23 22:27:30 +00:00
Brad Campbell f10da5fdb9
build: llvm-tools: replace compiler.host
Use `target` instead.
2018-06-23 17:32:25 -04:00
bors 60efbdead6 Auto merge of #51653 - mglagla:option-unreachable, r=dtolnay
Option::get_or_insert(_with): Replace unreachable! with unreachable_unchecked

Optimize codegen for both functions as the None branch is trivially not reachable.
2018-06-23 20:10:35 +00:00
Guillaume Gomez 8f1ef6e3be Fix error code numbers 2018-06-23 22:08:40 +02:00
Vadim Petrochenkov 20ce91076a hygiene: Merge `NameAndSpan` into `ExpnInfo` 2018-06-23 21:53:24 +03:00
Amanieu d'Antras c44be4c231 Update Cargo.lock 2018-06-23 19:15:34 +01:00
Amanieu d'Antras 794acd7047 Update rustfmt submodule 2018-06-23 18:54:42 +01:00
Vadim Petrochenkov 117cb040f1 hygiene: Make sure transparency of `Mark::root()` is an implementation detail and cannot be inspected outside of `hygiene.rs` 2018-06-23 20:42:25 +03:00
Vadim Petrochenkov c00f5af4d6 hygiene: Do not reset expansion info for `quote!` 2018-06-23 20:40:25 +03:00
Vadim Petrochenkov fffe9fbb51 hygiene: More descriptive names for things involved in late hygienic name resolution 2018-06-23 20:09:21 +03:00
Vadim Petrochenkov 296955a6e1 expansion: Add some comments 2018-06-23 20:09:21 +03:00
Vadim Petrochenkov 399da7bc35 expansion: Improve searchability for `AstFragments` methods 2018-06-23 20:09:21 +03:00
Vadim Petrochenkov a12726460e expansion: Rename `Expansion` to `AstFragment` 2018-06-23 20:09:21 +03:00
Vadim Petrochenkov 869fa27d13 hygiene: Rename `MarkKind` to `Transparency`
Move `is_builtin` for `Mark` to a separate flag
2018-06-23 20:09:21 +03:00
Vadim Petrochenkov b15785b671 hygiene: Make sure expansion info is set at most once for a given `Mark` 2018-06-23 20:09:21 +03:00
Vadim Petrochenkov 17f20bec22 expansion: Remove unnecessary override from `impl Folder for Marker` 2018-06-23 20:09:21 +03:00
Vadim Petrochenkov 9b2a89b7f1 hygiene: Give `Debug` impls to hygiene structures 2018-06-23 20:09:21 +03:00
Brad Campbell 5fc87ebbba
build: llvm_tools tidy 2018-06-23 12:34:18 -04:00
bors 4fe88c05cd Auto merge of #51727 - varkor:expragain-to-exprcontinue, r=petrochenkov
Rename hir::ExprAgain to hir::ExprContinue

The current name is confusing and historical.

I also used this PR to clean up the annoying indentation in `check/mod.rs`. If that's viewed as too tangential a change, I'll split it up, but it seemed reasonable to slip it in to reduce @bors's work. It's easy to compare for the two commits individually.

r? @petrochenkov
2018-06-23 14:33:10 +00:00
varkor e14e48bfaa Fix an ICE when matching over const slices 2018-06-23 14:41:01 +01:00
bors a51e807136 Auto merge of #51723 - estebank:abolish-ice, r=oli-obk
Accept `TyError` in `analyze_closure` to avoid ICE

Fix #51714.
2018-06-23 11:00:43 +00:00
varkor 621047b2b0 Reindent check/mod.rs 2018-06-23 11:00:02 +01:00
Brad Campbell 739fe4b3c5
build: add llvm-tools to manifest
This commit expands on a previous commit to build llvm-tools as a rustup
component. It causes the llvm-tools component to be built if the
extended step is active. It also adds llvm-tools to the build manifest
so rustup can find it.
2018-06-23 05:57:32 -04:00
varkor 7ba2952af6 Rename ExprAgain to ExprContinue 2018-06-23 10:51:01 +01:00
bors 56e8f29dbe Auto merge of #51580 - cramertj:async-await, r=eddyb
async/await

This PR implements `async`/`await` syntax for `async fn` in Rust 2015 and `async` closures and `async` blocks in Rust 2018 (tracking issue: https://github.com/rust-lang/rust/issues/50547). Limitations: non-`move` async closures with arguments are currently not supported, nor are `async fn` with multiple different input lifetimes. These limitations are not fundamental and will be removed in the future, however I'd like to go ahead and get this PR merged so we can start experimenting with this in combination with futures 0.3.

Based on https://github.com/rust-lang/rust/pull/51414.
cc @petrochenkov for parsing changes.
r? @eddyb
2018-06-23 09:02:45 +00:00
bors 2ea922a96d Auto merge of #51696 - estebank:fuzzy-ice-ice, r=oli-obk
Accept `TyError` in patterns to avoid ICE on bad input

Fix #50585.
2018-06-23 06:56:12 +00:00
bors 2db44b62e7 Auto merge of #51724 - tikue:master, r=Mark-Simulacrum
Re-pub some items whose visibilities were recently reduced.

Reasons described in the most recent comments of https://github.com/rust-lang/rust/pull/51265.

tarpc can't move off of plugins until proc macros can be reexported from other crates.

Fixes https://github.com/google/tarpc/issues/191
2018-06-23 04:19:51 +00:00
Taylor Cramer 30c17ccbff Update libsyntax test 2018-06-22 20:40:52 -07:00
bors 6dc81dec44 Auto merge of #51712 - SLaabsDev:master, r=Mark-Simulacrum
Add support for current directory prefixes (#51071)

Fixes #51071
2018-06-23 02:21:04 +00:00
Taylor Cramer a62c4aa03a Fix rustdoc and remove default impl for FnHeader 2018-06-22 17:27:58 -07:00
bors f9686334ac Auto merge of #51697 - estebank:once-used-lifetime-label, r=oli-obk
Add label to lint for lifetimes used once

```
error: lifetime parameter `'a` only used once
  --> $DIR/fn-types.rs:19:10
   |
LL |   a: for<'a> fn(&'a u32), //~ ERROR `'a` only used once
   |          ^^      -- ...is used only here
   |          |
   |          this lifetime...
```
2018-06-23 00:06:54 +00:00
Tim Kuehn 0c33e0ae13 Re-reexport some items that were recently made crate-private. 2018-06-22 16:23:25 -07:00