Commit Graph

99319 Commits

Author SHA1 Message Date
bors
66bf391c3a Auto merge of #64272 - Mark-Simulacrum:parallel-handler, r=estebank
Refactor librustc_errors::Handler API

This should be reviewed by-commit.

The last commit moves all fields into an inner struct behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.
2019-09-23 06:38:23 +00:00
bors
b6716a1cdd Auto merge of #64695 - Centril:rollup-t1xnl2c, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #64294 (Fix `Stdio::piped` example code and lint)
 - #64670 (Cleanup syntax::ext::build)
 - #64674 (Propagate `types.err` in locals further to avoid spurious knock-down errors)
 - #64676 (Parse assoc type bounds in generic params and provide custom diagnostic)
 - #64677 (remove outdated comment)
 - #64679 (Infer consts more consistently)
 - #64688 (Clarify the "since" tidy check)

Failed merges:

r? @ghost
2019-09-23 02:25:10 +00:00
Mazdak Farrokhzad
55df97c394
Rollup merge of #64688 - rust-lang:clarify-tidy-since, r=alexreg
Clarify the "since" tidy check

r? @pietroalbini

cc @alexreg
2019-09-23 00:36:41 +02:00
Mazdak Farrokhzad
78d715fe14
Rollup merge of #64679 - skinny121:const-infer, r=varkor
Infer consts more consistently

Moved some duplicated logic in `TypeRelation` methods into `super_combined_consts`. Before some `TypeRelation`s like `Lub` wasn't using `replace_if_possible`, meaning some inference types were staying around longer than they should be.

Fixes https://github.com/rust-lang/rust/issues/64519

r? @varkor
2019-09-23 00:36:40 +02:00
Mazdak Farrokhzad
091b7c3896
Rollup merge of #64677 - tshepang:outdated, r=Mark-Simulacrum
remove outdated comment
2019-09-23 00:36:38 +02:00
Mazdak Farrokhzad
cb449d26ee
Rollup merge of #64676 - estebank:assoc-type-bound-in-generic, r=petrochenkov
Parse assoc type bounds in generic params and provide custom diagnostic

Fix #26271.
2019-09-23 00:36:37 +02:00
Mazdak Farrokhzad
b66e7323e6
Rollup merge of #64674 - estebank:knock-down-the-wall, r=Centril
Propagate `types.err` in locals further to avoid spurious knock-down errors

Fix #33575, fix #44504.
2019-09-23 00:36:36 +02:00
Mazdak Farrokhzad
da58e11d02
Rollup merge of #64670 - Mark-Simulacrum:ext-build-simplify, r=petrochenkov
Cleanup syntax::ext::build

I suspect most of this code could be inlined but I only removed the bits where the inlining didn't really hurt readability (i.e., method call -> function call) or the completely unused code.
2019-09-23 00:36:34 +02:00
Mazdak Farrokhzad
7894bc82d7
Rollup merge of #64294 - wchargin:wchargin-stdio-piped-docs, r=Dylan-DPC
Fix `Stdio::piped` example code and lint

Summary:
Invoking `rev` does not add a trailing newline when none is present in
the input (at least on my Debian). Nearby examples use `echo` rather
than `rev`, which probably explains the source of the discrepancy.

Also, a `mut` qualifier is unused.

Test Plan:
Copy the code block into <https://play.rust-lang.org> with a `fn main`
wrapper, and run it. Note that it compiles and runs cleanly; prior to
this commit, it would emit an `unused_mut` warning and then panic.

wchargin-branch: stdio-piped-docs
2019-09-23 00:36:33 +02:00
bors
c0b7e71bec Auto merge of #64151 - estebank:binding-error, r=varkor
On obligation errors point at the unfulfilled binding when possible

CC #42855, #64130, #64135. Fix #61860.
2019-09-22 22:34:22 +00:00
Esteban Küber
ff75124a37 fix nll tests 2019-09-22 11:54:38 -07:00
bors
1dd1884891 Auto merge of #64604 - lzutao:clippyup, r=oli-obk
Update clippy and rls

r? @oli-obk cc @Manishearth
2019-09-22 18:33:14 +00:00
Esteban Küber
7cef8b3495 ignore-x86 instead of ignore-musl 2019-09-22 11:33:13 -07:00
Esteban Küber
3ea0d10979 hack to avoid incorrect suggestion 2019-09-22 11:33:13 -07:00
Esteban Küber
d201e278ba review comments 2019-09-22 11:33:13 -07:00
Esteban Küber
4be51c879e Point at type param when it's cause of unfulfilled obligation 2019-09-22 11:33:13 -07:00
Esteban Küber
4e0437ee8e Fix rebase 2019-09-22 11:33:13 -07:00
Esteban Küber
f81734bcaa ignore musl target in tests to avoid issues with output differences 2019-09-22 11:33:13 -07:00
Esteban Küber
b21408527a review comments 2019-09-22 11:33:12 -07:00
Esteban Küber
c9d05aa9ce Point at correct span for parenthesized types 2019-09-22 11:33:12 -07:00
Esteban Küber
b370c111fd On obligation errors point at the unfulfilled binding when possible 2019-09-22 11:33:12 -07:00
Mazdak Farrokhzad
ad4787a992
Clarify the "since" tidy check 2019-09-22 17:18:45 +02:00
Lzu Tao
d06de5d850 Update rls to fix build error 2019-09-22 15:02:12 +00:00
Lzu Tao
bbce971bf7 Update clippy 2019-09-22 15:02:12 +00:00
bors
4ff32c07da Auto merge of #64669 - estebank:unreachable, r=Centril
Use span label instead of note in unreachable lint

Fix #64636.
2019-09-22 06:33:01 +00:00
ben
3f2855e4a6 Infer consts consistently. Moved some logic into super_combined_consts,
also removed some duplicated logic from TypeRelation methods.
2019-09-22 17:24:09 +12:00
bors
ef906d0e3c Auto merge of #64666 - Centril:rollup-tp98vlr, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #63907 (Add explanation to type mismatch involving type params and assoc types)
 - #64615 (rustbuild: Turn down compression on exe installers)
 - #64617 (rustbuild: Turn down compression on msi installers)
 - #64618 (rustbuild: Improve output of `dist` step)
 - #64619 (Fixes #63962. Hint about missing tuple parentheses in patterns)
 - #64634 (Update to LLVM 9.0.0)
 - #64635 (Allow using fn pointers in const fn with unleash miri)
 - #64660 (unify errors for tuple/struct variants)
 - #64664 (fully remove AstBuilder)

Failed merges:

r? @ghost
2019-09-22 02:44:28 +00:00
Esteban Küber
0f2f16db53 review comments: wording 2019-09-21 18:57:37 -07:00
Esteban Küber
daed674815 review comments 2019-09-21 17:28:07 -07:00
Tshepang Lekhonkhobe
c3d791740f remove outdated comment 2019-09-22 02:23:41 +02:00
Esteban Küber
60560bc2a2 Parse assoc type bounds in generic params and provide custom diagnostic 2019-09-21 17:11:09 -07:00
Esteban Küber
9991d548c7 review comments 2019-09-21 16:34:16 -07:00
Esteban Küber
3e6b84474d Propagate types.err in locals further to avoid spurious knock-down errors 2019-09-21 16:31:27 -07:00
Mark Rousskov
8417ac67c3 Inline attribute constructors 2019-09-21 16:14:10 -04:00
Mark Rousskov
e41aa8c0d0 Inline ty_infer 2019-09-21 16:14:10 -04:00
Mark Rousskov
2aa9d29c6a Remove unused code 2019-09-21 16:14:10 -04:00
Esteban Küber
ea70fb7567 Do not trigger unreachable lint in async body and Use span labels 2019-09-21 13:04:04 -07:00
Mazdak Farrokhzad
f0e69ffb8d
Rollup merge of #64664 - matklad:remove-ast-builder, r=Mark-Simulacrum
fully remove AstBuilder

The mentioned Cargo test is fixed in https://github.com/rust-lang/cargo/pull/7210

I think this can be removed now?
2019-09-21 21:24:22 +02:00
Mazdak Farrokhzad
7eac55518a
Rollup merge of #64660 - guanqun:unify-errors-for-tuple-struct, r=estebank
unify errors for tuple/struct variants

fix #63983
2019-09-21 21:24:20 +02:00
Mazdak Farrokhzad
25bdd76a54
Rollup merge of #64635 - gnzlbg:const_fn_ptr, r=oli-obk
Allow using fn pointers in const fn with unleash miri

This allows using function pointers in const fns  when `-Zunleash-the-miri-within-you` is enabled.

If the call to the `const fn` happens in a `const`-context, the function pointer is required to point to a `const fn`:

```rust
fn non_const_fn() -> i32 { 42 }
const fn const_fn() -> i32 { 42 }
const fn foo(x: fn() -> i32) -> i32 { x() }

let x: i32 = foo(non_const_fn_ptr); // OK
let y: i32 = foo(const_fn_ptr); // OK
const X: i32 = foo(non_const_fn_ptr); // ERROR: `non_const_fn` is not `const fn`
const Y: i32 = foo(const_fn_ptr); // OK
```

r? @oli-obk
2019-09-21 21:24:19 +02:00
Mazdak Farrokhzad
05d7ae25bf
Rollup merge of #64634 - cuviper:llvm-9.0.0, r=alexcrichton
Update to LLVM 9.0.0
2019-09-21 21:24:17 +02:00
Mazdak Farrokhzad
b21ec22402
Rollup merge of #64619 - sam09:fix-63962, r=Centril
Fixes #63962. Hint about missing tuple parentheses in patterns
2019-09-21 21:24:16 +02:00
Mazdak Farrokhzad
ef8630381a
Rollup merge of #64618 - alexcrichton:improve-dist-output, r=Mark-Simulacrum
rustbuild: Improve output of `dist` step

* Pass `/Q` to `iscc` on Windows to supress the thousands of lines of
  output about compressing documentation.
* Print out what's happening before long steps
* Use `timeit` to print out timing information for long-running
  installer assemblies.
* Try to scope output of `Dist ...` to not also encompass actual build steps
2019-09-21 21:24:15 +02:00
Mazdak Farrokhzad
395ec06b6a
Rollup merge of #64617 - alexcrichton:smaller-msi, r=Mark-Simulacrum
rustbuild: Turn down compression on msi installers

This is the same as #64615 except applied to our MSI installers. The
same fix is applied effectively bringing these installers in line with
the gz tarball installers, which are about 3x faster to produce locally
and likely much faster to produce on CI.
2019-09-21 21:24:13 +02:00
Mazdak Farrokhzad
45807144a0
Rollup merge of #64615 - alexcrichton:smaller-exe, r=Mark-Simulacrum
rustbuild: Turn down compression on exe installers

The Windows dist builders are the slowest builders right now, and the
distribution phase of them is enormously slow clocking in at around 20
minutes to build all the related installers. This commit starts to
optimize these by turning down the compression level in the `exe`
installers. These aren't super heavily used so there's no great need for
them to be so ultra-compressed, so let's dial back the compression
parameters to get closer to the rest of our xz archives. This brings the
installer in line with the gz tarball installer locally, and also brings
the compression settings on par with the rest of our xz installers.
2019-09-21 21:24:12 +02:00
Mazdak Farrokhzad
13fee423c8
Rollup merge of #63907 - estebank:assoc-type-mismatch, r=oli-obk
Add explanation to type mismatch involving type params and assoc types

CC #63711
2019-09-21 21:24:11 +02:00
Mark Rousskov
67d88f607e Remove constraints argument from path_all
It was never used
2019-09-21 15:01:39 -04:00
Aleksey Kladov
53a6a2f322 fully remove AstBuilder
The mentioned Cargo test is fixed in https://github.com/rust-lang/cargo/pull/7210
2019-09-21 21:33:37 +03:00
Sam Radhakrishan
a2a57bc6cf Fixes #63962. Hint about missing tuple parentheses in patterns 2019-09-22 00:00:34 +05:30
Guanqun Lu
e001c5f9d8 unify errors for tuple/struct variants
fix #63983
2019-09-21 23:38:35 +08:00