Commit Graph

90633 Commits

Author SHA1 Message Date
bors
ba43811a07 Auto merge of #58793 - Mark-Simulacrum:master-next, r=alexcrichton
Bootstrap compiler update for 1.35 release

r? @alexcrichton
2019-03-03 05:51:44 +00:00
Mark Rousskov
04679431a2 Call clang and llvm-objdump with correct library path 2019-03-02 22:27:26 -07:00
bors
7dbba3d03c Auto merge of #58464 - jethrogb:jb/std-test-panic-output, r=alexcrichton
Use the correct stderr when testing libstd

When compiling the unit tests for libstd, there are two copies of `std` in existence, see [lib.rs](https://github.com/rust-lang/rust/blob/919cf42/src/libstd/lib.rs#L335-L341). This means there are two copies of everything, including thread local variable definitions. Before this PR, it's possible that libtest would configure a stderr sink in one of those copies, whereas the panic logic would inspect the sink in the other copy, resulting in libtest missing the relevant panic message. This PR makes sure that when testing, the panic logic always accesses the stderr sink from “realstd”, using the same logic that libtest uses.
2019-03-03 03:00:16 +00:00
Alexander Regueiro
379cd29d1c Nit 2019-03-03 02:58:09 +00:00
Esteban Küber
d651281a71 Reword error message 2019-03-02 17:50:13 -08:00
Esteban Küber
509bb0acba Use anonymous explicit lifetimes 2019-03-02 16:45:23 -08:00
Esteban Küber
0081ef2548 Point at enum definition when match patterns are not exhaustive
```
error[E0004]: non-exhaustive patterns: type `X` is non-empty
 --> file.rs:9:11
  |
1 | / enum X {
2 | |     A,
  | |     - variant not covered
3 | |     B,
  | |     - variant not covered
4 | |     C,
  | |     - variant not covered
5 | | }
  | |_- `X` defined here
...
9 |       match x {
  |             ^
  |
  = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `B` and `C` not covered
  --> file.rs:11:11
   |
1  | / enum X {
2  | |     A,
3  | |     B,
4  | |     C,
   | |     - not covered
5  | | }
   | |_- `X` defined here
...
11 |       match x {
   |             ^ patterns `C` not covered
```

When a match expression doesn't have patterns covering every variant,
point at the enum's definition span. On a best effort basis, point at the
variant(s) that are missing. This does not handle the case when the missing
pattern is due to a field's enum variants:

```
enum E1 {
    A,
    B,
    C,
}
enum E2 {
    A(E1),
    B,
}
fn foo() {
    match E2::A(E1::A) {
        E2::A(E1::B) => {}
        E2::B => {}
    }
    //~^ ERROR `E2::A(E1::A)` and `E2::A(E1::C)` not handled
}
```

Unify look between match with no arms and match with some missing patterns.

Fix #37518.
2019-03-02 16:45:23 -08:00
Santiago Pastorino
ddd4731f5f
Update miri 2019-03-02 20:21:33 -03:00
Esteban Küber
df852c0d79 Suggest appropriate code for unused field when desrtucturing patttern
Fix #56472.
2019-03-02 15:16:53 -08:00
Esteban Küber
edbbfad88f Suggest removal of & when borrowing macro and appropriate
Fix #58815.
2019-03-02 11:25:00 -08:00
bors
0ea22717a1 Auto merge of #58836 - ljedrz:begone_NodeId, r=Zoxc
Remove NodeId from even more HIR nodes

The next iteration of HirIdification (#57578).

Removes `NodeId` from:

- [x] `StructField`
- [x] `ForeignItem`
- [x] `Item`
- [x] `Pat`
- [x] `FieldPat`
- [x] `VariantData`
- [x] `ImplItemId` (replaces it with `HirId`)
- [x] `TraitItemId` (replaces it with `HirId`)
2019-03-02 19:07:22 +00:00
Mark Rousskov
2870015b7b Bootstrap compiler update for 1.35 release 2019-03-02 09:05:34 -07:00
Dan Robertson
04d0a8cb83
Fix C-variadic function printing
There is no longer a need to append the string `", ..."` to a functions
args as `...` is parsed as an argument and will appear in the functions
arguments.
2019-03-02 15:03:09 +00:00
kennytm
c835a0a94d
Rollup merge of #58842 - mati865:53005, r=alexcrichton
Forbid duplicating Cargo as a dependency

Fixes https://github.com/rust-lang/rust/issues/53005
2019-03-02 22:58:49 +08:00
kennytm
133f97309a
Rollup merge of #58852 - alexcrichton:update-netbsd, r=Mark-Simulacrum
Update toolchain to build NetBSD release

This allows us to remove the "allow old toolchains" flag we pass to
LLVM, ensuring that we'll be up to date when LLVM needs us to be!

This is a follow-up from https://github.com/rust-lang/rust/pull/58408 where NetBSD was explicitly whitelisted to allow older toolchains.
2019-03-02 22:58:47 +08:00
kennytm
2e51007350
Rollup merge of #58838 - jens1o:patch-1, r=Centril
Fix typo in Vec#resize_with documentation
2019-03-02 22:58:44 +08:00
kennytm
0404c83626
Rollup merge of #58835 - Centril:rust_2018_idioms-remote-test, r=oli-obk
tools/remote-test-{client,server}: deny(rust_2018_idioms)

r? @oli-obk

(+ tiny amount of cleanup)
2019-03-02 22:58:42 +08:00
kennytm
53fc9c6bfa
Rollup merge of #58833 - Centril:rust_2018_idioms-rustbook, r=oli-obk
tools/rustbook: deny(rust_2018_idioms)

r? @oli-obk
2019-03-02 22:58:40 +08:00
kennytm
1180df2a3b
Rollup merge of #58832 - pietroalbini:appveyor-hyperv, r=kennytm
Revert switching to GCP on AppVeyor

r? @alexcrichton
2019-03-02 22:58:37 +08:00
kennytm
2c1a7c132b
Rollup merge of #58830 - Centril:rust_2018_idioms-tidy, r=oli-obk
tidy: deny(rust_2018_idioms)

r? @oli-obk
2019-03-02 22:58:35 +08:00
kennytm
c4f693cbf2
Rollup merge of #58821 - alex:patch-1, r=Centril
Fixed a syntax error in the pin docs
2019-03-02 22:58:32 +08:00
kennytm
8bdd948b31
Rollup merge of #58802 - nnethercote:inline-record_layout, r=oli-obk
Ensure `record_layout_for_printing()` is inlined.

This reduces instruction counts for the `ctfe-stress-2` benchmark by
about 1%.

r? @oli-obk
2019-03-02 22:58:29 +08:00
kennytm
4aebce5758
Rollup merge of #58785 - euclio:tool-lint-attrs, r=estebank
allow specifying attributes for tool lints

Needed for clippy to fix `unused_doc_comments` warnings that will be exposed by #57882 (and thus unblock it).
2019-03-02 22:58:26 +08:00
kennytm
f67736ad04
Rollup merge of #58782 - tspiteri:str-escape-self, r=kennytm
Replace `s` with `self` in docs for str methods taking self.

Cherry picked from PR #58596 which is blocked on some intra-doc link bugs.
2019-03-02 22:58:22 +08:00
kennytm
df2b6bcf5a
Rollup merge of #58780 - RalfJung:manually-drop, r=nagisa
ManuallyDrop != MaybeUninit

Cc @Centril
2019-03-02 22:58:19 +08:00
kennytm
2e82d11de1
Rollup merge of #58730 - timvermeulen:internal_iteration, r=scottmcm
Have all methods of Filter and FilterMap use internal iteration

This PR changes `Filter::{next, next_back, count}` and `FilterMap::{next, next_back}` to all use internal iteration. The `next` and `next_back` methods are changed to directly forward to `try_for_each` and `try_rfold` respectively, using `Result` as the `Try` type. I think that's okay? Alternatively, I could change their implementations to use `LoopState` instead if there's any benefit in doing so.

r? @scottmcm
2019-03-02 22:58:11 +08:00
bors
fab272e5ef Auto merge of #58216 - pitdicker:sqos_flags, r=alexcrichton
Set secure flags when opening a named pipe on Windows

Fixes https://github.com/rust-lang/rust/issues/42036, see also the previous attempt in https://github.com/rust-lang/rust/pull/44556.

Whether this is correct depends on if it is somehow possible to create a symlink to a named pipe, outside the named pipe filesystem (NPFS). But as far as I can tell that should be impossible.

Also fixes that `security_qos_flags(SECURITY_ANONYMOUS)` does not set the `SECURITY_SQOS_PRESENT` flag, and the incorrect documentation about the default value of `security_qos_flags`.
2019-03-02 13:16:12 +00:00
bors
9cfed5da12 Auto merge of #58077 - Nemo157:generator-state-debug-info, r=Zoxc
Add debug-info to access variables from generator state
2019-03-02 08:40:14 +00:00
ljedrz
299ed9af94 driver: fix test 2019-03-02 07:48:53 +01:00
ljedrz
fa61c67fe6 hir: HirIdify Impl&TraitItemId 2019-03-02 07:48:53 +01:00
ljedrz
fb22315f08 hir: remove NodeId from VariantData 2019-03-02 07:48:52 +01:00
ljedrz
50b8bc8c8c hir: remove NodeId from Pat and FieldPat 2019-03-02 07:48:52 +01:00
ljedrz
77fa041fc1 hir: remove NodeId from Item 2019-03-02 07:48:52 +01:00
ljedrz
3c25193f3f hir: remove NodeId from ForeignItem 2019-03-02 07:48:52 +01:00
ljedrz
ae45f170ee hir: remove NodeId from StructField 2019-03-02 07:48:52 +01:00
ljedrz
7e277d96fe middle & privacy: partially HirIdify 2019-03-02 07:48:52 +01:00
bors
a21d82438b Auto merge of #57202 - matthewjasper:nll-typeck-promoteds, r=pnkfelix
Include bounds from promoted constants in NLL

Previously a promoted function wouldn't have its bound propagated out to
the main function body.

When we visit a promoted, we now type check the MIR of the promoted
and transfer any lifetime constraints to back to the main function's MIR.

Fixes #57170

r? @nikomatsakis
2019-03-02 04:39:02 +00:00
Andy Russell
12d8a7d64e
look for python2 symlinks before bootstrap python
Before this commit, if you're running x.py directly on a system where
`python` is symlinked to Python 3, then the `python` config option will
default to a Python 3 interpreter. This causes debuginfo tests to fail
with an opaque error message, since they have a hard requirement on
Python 2.

This commit modifies the Python probe behavior to look for python2.7 and
python2 *before* using the interpreter used to execute `x.py`.
2019-03-01 21:27:43 -05:00
Andy Russell
5360ded0e5
fix an issue with path probing on Windows
The old logic would incorrectly look for "python2.exe" when searching
for "python2.7.exe".
2019-03-01 21:27:43 -05:00
bors
d987b46bd7 Auto merge of #56946 - Zoxc:jobserver, r=nikomatsakis
Add support for using a jobserver with Rayon

The Rayon changes are here: https://github.com/Zoxc/rayon/pull/2

cc @alexcrichton
r? @nikomatsakis
2019-03-02 01:44:55 +00:00
Esteban Küber
dc4973dfd9 Expand where negative supertrait specific error is shown
Fix #58857.
2019-03-01 14:42:39 -08:00
bors
f3730f9b87 Auto merge of #58800 - ehuss:update-books, r=Centril
Update edition-guide

15 commits in 419edb885ec1a98c0747b3907003d79e3e6b93a9..5f3cc2a5618700efcde3bc00799744f21fa9ad2e
2018-12-04 16:43:38 -0500 to 2019-02-27 20:11:50 -0800
- Migrate to mdbook 0.2. (rust-lang-nursery/edition-guide#152)
- Remove automatic deployment. (rust-lang-nursery/edition-guide#151)
- Fix issue with rust's linkchecker and mdbook. (rust-lang-nursery/edition-guide#147)
- Fix test now that overflowing_literals is rejected in all editions. (rust-lang-nursery/edition-guide#148)
- overflowing_literals is deny on all editions (rust-lang-nursery/edition-guide#146)
- Update for uniform_path stabilization. (rust-lang-nursery/edition-guide#141)
- Add example to rustup to show overriding to specific version (rust-lang-nursery/edition-guide#144)
- Update for anonymous-lifetime stabilization. (rust-lang-nursery/edition-guide#142)
- Add minimum Rust version for Kleene operator (rust-lang-nursery/edition-guide#137)
- Add 2018-specific changes. (rust-lang-nursery/edition-guide#130)
- aborting-on-panic.md: Typo in example config (rust-lang-nursery/edition-guide#125)
- Clarify uniform paths are not yet in Rust 2018 (rust-lang-nursery/edition-guide#124)
- update several version numbers
- Fixes outdated link (rust-lang-nursery/edition-guide#131)
- Fixed typo in transitioning page. (rust-lang-nursery/edition-guide#127)
2019-03-01 22:12:27 +00:00
Matthew Jasper
3b93d71fd2 Handle type annotations in promoted MIR correctly
Type annotations are shared between the MIR of a function and the
promoted constants for that function, so keep them in the type checker
when we check the promoted MIR.
2019-03-01 18:53:16 +00:00
Matthew Jasper
848c252072 Remove unnecessary parameter 2019-03-01 18:53:15 +00:00
Matthew Jasper
60eeed34af Include bounds from promoted constants in NLL
Previously, a promoted that contains a function item wouldn't have the
function items bounds propagated to
the main function body.
2019-03-01 18:53:14 +00:00
Alex Crichton
a7d17bfcd5 Update toolchain to build NetBSD release
This allows us to remove the "allow old toolchains" flag we pass to
LLVM, ensuring that we'll be up to date when LLVM needs us to be!
2019-03-01 10:34:08 -08:00
Oliver Scherer
8c16507045 Schedule the demolition of IsNotPromotable 2019-03-01 17:10:29 +01:00
bors
c1d2d83ca3 Auto merge of #58754 - ljedrz:I_hate_NodeIds, r=Zoxc
Remove NodeId from more HIR nodes

The next iteration of HirIdification (#57578).

Removes `NodeId` from:

- [x] `Stmt`
- [x] `Local`
- [x] `Field`
- [x] `AnonConst`
- [x] `TraitItem`
- [x] `ImplItem`
- [x] `TypeBinding`
- [x] `Arg`
- [x] `TraitRef`
- [x] `VisibilityKind`

It will most probably break clippy again; I'd appreciate a **delegate** again if/when it is good to go so I can attach a clippy fix later.

r? @Zoxc
2019-03-01 15:36:13 +00:00
Mateusz Mikuła
c3aab14480 Forbid duplicating Cargo as a dependency 2019-03-01 15:11:32 +01:00
Jens Hausdorf
670a4d65d5
Fix typo in Vec#resize_with documentation 2019-03-01 13:19:00 +01:00