Commit Graph

90641 Commits

Author SHA1 Message Date
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
Mazdak Farrokhzad
c259489209 tools/remote-test-{client,server}: deny(rust_2018_idioms) 2019-03-01 11:23:25 +01:00
ljedrz
9cd1845908 hir: remove NodeId from VisibilityKind 2019-03-01 11:18:50 +01:00
ljedrz
01cf66bb30 hir: remove NodeId from TraitRef 2019-03-01 11:18:50 +01:00
ljedrz
aa6a9c3f41 hir: remove NodeId from Arg 2019-03-01 11:18:49 +01:00
ljedrz
2827f8d4fe hir: remove NodeId from TypeBinding 2019-03-01 11:18:49 +01:00
ljedrz
a29ceb9f51 hir: remove NodeId from ImplItem 2019-03-01 11:18:49 +01:00
ljedrz
c2e517e0c4 ty: HirIdify some lints 2019-03-01 11:18:49 +01:00
ljedrz
e72584c3a1 hir: remove NodeId from TraitItem 2019-03-01 11:18:49 +01:00
ljedrz
43294c6c8c middle: HirIdify dead 2019-03-01 11:18:48 +01:00
ljedrz
4543fc243e hir: remove NodeId from AnonConst 2019-03-01 11:18:48 +01:00
ljedrz
d959f443fb hir: remove NodeId from Field 2019-03-01 11:18:48 +01:00
ljedrz
70d3b290e2 hir: remove NodeId from Local 2019-03-01 11:18:48 +01:00
ljedrz
341b023986 hir: remove NodeId from Stmt 2019-03-01 11:18:47 +01:00
Mazdak Farrokhzad
260b0917b0 tools/rustbook: deny(rust_2018_idioms) 2019-03-01 11:15:22 +01:00
bors
17add2498f Auto merge of #58631 - spastorino:place2_1, r=oli-obk
Put Local, Static and Promoted as one Base variant of Place

Related to #52708

The `Place` 2.0 representation use a `Base` variant for `Local`, `Static` and `Promoted` so we start making this change in the current `Place` to make the following steps simpler.

r? @oli-obk
2019-03-01 10:00:17 +00:00
Pietro Albini
805145f2f9
Revert "Auto merge of #58597 - pietroalbini:appveyor-gce, r=alexcrichton"
This reverts commit fd42f24b01, reversing
changes made to 0e25a6829c.
2019-03-01 10:41:25 +01:00
Mazdak Farrokhzad
3391f6ce80 tidy: deny(rust_2018_idioms) 2019-03-01 10:16:01 +01:00
bors
7b4f8f969c Auto merge of #58689 - memoryruins:exclude_should_panic, r=oli-obk
Add unstable option to ignore should_panic tests

Add an unstable option `--exclude-should-panic` to libtest to workaround https://github.com/rust-lang/miri/issues/636

?r @oli-obk
cc @RalfJung
2019-03-01 05:17:14 +00:00
Santiago Pastorino
0f993d5a7a Put Local, Static and Promoted as one Base variant of Place 2019-03-01 05:02:00 +01:00
Jethro Beekman
c0e8cf9410 Use the correct stderr when testing libstd 2019-02-28 19:09:17 -08:00
bors
20cfc9deb5 Auto merge of #58408 - alexcrichton:update-llvm, r=michaelwoerister
rustc: Update LLVM, remove dead wasm code

This commit updates the LLVM branch to the rebased version of the
upstream release/8.x branch. This includes a wasm patch which means that
the `rewrite_imports` pass in rustc is no longer needed (yay!) and we
can instead rely on `wasm-import-module`, an attribute we're already
emitting, to take care of all the work.
2019-03-01 01:22:15 +00:00
John Kåre Alsaker
5c78fa836d Update Cargo.lock 2019-03-01 01:30:52 +01:00
John Kåre Alsaker
42d817f3e7 Fix import 2019-03-01 01:15:39 +01:00
John Kåre Alsaker
35a1b91c4b Address comments 2019-03-01 01:15:38 +01:00
John Kåre Alsaker
892fed9d08 Add support for using a jobserver with Rayon 2019-03-01 01:15:37 +01:00
QuietMisdreavus
515dbe73ab update rustdoc coverage tests with new table layout 2019-02-28 16:24:38 -06:00
QuietMisdreavus
74cf1adfd6 tweak docs for rustdoc's --show-coverage 2019-02-28 16:13:55 -06:00
QuietMisdreavus
1b63543dc6 track items per-file instead of per-type 2019-02-28 16:13:55 -06:00
QuietMisdreavus
80b49191bb update docs for doc coverage 2019-02-28 16:11:21 -06:00
QuietMisdreavus
63bdd29ef4 add tests for doc coverage 2019-02-28 16:11:21 -06:00
QuietMisdreavus
3ce19b4a2c tweak wording of extern types 2019-02-28 16:11:21 -06:00
QuietMisdreavus
a3a255990e add a coverage mode for private items 2019-02-28 16:11:21 -06:00
QuietMisdreavus
5eb1ab5265 print doc coverage as a table of individual item types 2019-02-28 16:11:21 -06:00
QuietMisdreavus
95500c078b refactor: combine item count numbers into a new struct 2019-02-28 16:07:45 -06:00
QuietMisdreavus
fc9459351c count fewer items in calculate-doc-coverage 2019-02-28 16:01:27 -06:00
QuietMisdreavus
9e98a25b95 tabs -> spaces 2019-02-28 16:01:27 -06:00
QuietMisdreavus
009c91a294 add option to calculate documentation coverage 2019-02-28 16:01:27 -06:00
Alex Gaynor
96be181c7e
Fixed a syntax error in the pin docs 2019-02-28 16:34:03 -05:00
bors
350674b718 Auto merge of #58250 - Zoxc:rustc-interface-1, r=oli-obk
Introduce rustc_interface and move some methods there

Split out from https://github.com/rust-lang/rust/pull/56732

r? @oli-obk
2019-02-28 21:02:12 +00:00
John Kåre Alsaker
23a51f91c9 Introduce rustc_interface and move some methods there 2019-02-28 19:30:31 +01:00
bors
1999a22881 Auto merge of #57760 - dlrobertson:varargs1, r=alexreg
Support defining C compatible variadic functions

## Summary

Add support for defining C compatible variadic functions in unsafe rust with
`extern "C"` according to [RFC 2137].

## Details

### Parsing
When parsing a user defined function that is `unsafe` and `extern "C"` allow
variadic signatures and inject a "spoofed" `VaList` in the new functions
signature. This allows the user to interact with the variadic arguments via a
`VaList` instead of manually using `va_start` and `va_end` (See [RFC 2137] for
details).

### Codegen

When running codegen for a variadic function, remove the "spoofed" `VaList`
from the function signature and inject `va_start` when the arg local
references are created for the function and `va_end` on return.

## TODO

 - [x] Get feedback on injecting `va_start/va_end` in MIR vs codegen
 - [x] Properly inject `va_end` - It seems like it should be possible to inject
       `va_end` on the `TerminatorKind::Return`. I just need to figure out how
       to get the `LocalRef` here.
 - [x] Properly call Rust defined C variadic functions in Rust - The spoofed
       `VaList` causes problems here.

Related to: #44930

r? @ghost

[RFC 2137]: https://github.com/rust-lang/rfcs/blob/master/text/2137-variadic.md
2019-02-28 15:00:25 +00:00
bors
190feb6529 Auto merge of #58208 - taiki-e:libstd-2018, r=Centril
libstd => 2018

Transitions `libstd` to Rust 2018; cc #58099

r? @Centril
2019-02-28 11:38:40 +00:00