Commit graph

6519 commits

Author SHA1 Message Date
Shiqing
e1d27eb73c Reduce span to function name in unreachable calls 2019-09-07 00:16:11 +08:00
Mazdak Farrokhzad
afc7e0e9d3
Rollup merge of #64157 - gilescope:opaque-type-location, r=cramertj,Centril
Opaque type locations in error message for clarity.

Attempts to fix #63167
2019-09-05 12:11:19 +02:00
Mazdak Farrokhzad
59237ec665
Rollup merge of #64083 - estebank:tweak-e0308, r=oli-obk
Point at appropriate arm on type error on if/else/match with one non-! arm

Fix https://github.com/rust-lang/rust/issues/61281.
2019-09-05 12:11:16 +02:00
Mazdak Farrokhzad
2238d19515
Rollup merge of #64063 - JohnTitor:fix-const-err, r=oli-obk
Fix const_err with `-(-0.0)`

Fixes #64059

r? @oli-obk
2019-09-05 12:11:14 +02:00
Giles Cope
9483db5052 Opaque type locations in error message for clarity. 2019-09-05 06:32:53 +01:00
Mazdak Farrokhzad
57ffc83312
Rollup merge of #64128 - Centril:unused-parens-pat, r=davidtwco
unused_parens: account for or-patterns and `&(mut x)`

Fixes https://github.com/rust-lang/rust/issues/55342.
Fixes https://github.com/rust-lang/rust/issues/64106.

cc https://github.com/rust-lang/rust/issues/54883
cc https://github.com/rust-lang/rust/pull/64111

r? @oli-obk
2019-09-05 03:59:48 +02:00
Mazdak Farrokhzad
8ef11fcf4b
Rollup merge of #64110 - estebank:receiver-type, r=Centril
Refer to "`self` type" instead of "receiver type"

Fix https://github.com/rust-lang/rust/issues/42603.
2019-09-05 03:59:44 +02:00
Mazdak Farrokhzad
fe1c1f8c36
Rollup merge of #64043 - matthewjasper:underscore-import-tests, r=alexcrichton
Add some more tests for underscore imports
2019-09-05 03:59:42 +02:00
Mazdak Farrokhzad
9024032591
Rollup merge of #64038 - matthewjasper:deny-mutual-impl-trait-recursion, r=varkor
Check impl trait substs when checking for recursive types

closes #64004
2019-09-05 03:59:40 +02:00
Mazdak Farrokhzad
07a28338fa
Rollup merge of #64031 - Centril:param-attrs-no-macros-test, r=nikomatsakis
Harden `param_attrs` test wrt. usage of a proc macro `#[attr]`

The `param-attrs-builtin-attrs.rs` test file uses the `#[test]` attribute which should cover this but `#[test]` isn't a proc macro attribute so we add another test to be on the safe side. This intends to address https://github.com/rust-lang/rust/pull/64010#issuecomment-526564316.

r? @nikomatsakis

cc @c410-f3r @petrochenkov
cc https://github.com/rust-lang/rust/issues/60406
2019-09-05 03:59:39 +02:00
bors
6c18a3d775 Auto merge of #63825 - nathanwhit:check-run-results, r=Mark-Simulacrum
Allow checking of run-pass execution output in compiletest

Closes #63751
Adds a `check-run-results` flag to compiletest headers, which if enabled checks the output of the execution of a run-pass test's binary against expected output.
2019-09-04 11:37:37 +00:00
Yuki Okushi
41deb83549 Add compile flag 2019-09-04 18:32:00 +09:00
Esteban Küber
4a79633ad2 review comments 2019-09-03 08:05:54 -07:00
Mazdak Farrokhzad
e85b181638 unused_parens: fix for or-patterns + &(mut x) 2019-09-03 15:33:30 +02:00
Mazdak Farrokhzad
24e3b1d0d3
Rollup merge of #64104 - Mark-Simulacrum:intrinsic-fn-ptr-ice, r=estebank
Emit error on intrinsic to fn ptr casts

I'm not sure if a type error is the best way of doing this but it seemed like a relatively correct place to do it, and I expect this is a pretty rare case to hit anyway.

Fixes #15694
2019-09-03 14:27:05 +02:00
Mazdak Farrokhzad
56d00e388b
Rollup merge of #64056 - estebank:arbitrary-self-types, r=Centril
Account for arbitrary self types in E0599

Fix https://github.com/rust-lang/rust/issues/62373
2019-09-03 14:27:00 +02:00
Mazdak Farrokhzad
4245be7fb3
Rollup merge of #64049 - estebank:if-else-type-err, r=Centril
Emit a single error on if expr with expectation and no else clause

Fix https://github.com/rust-lang/rust/issues/60254.

r? @Centril
2019-09-03 14:26:58 +02:00
Esteban Küber
efe85943b3 account for DUMMY_SP and correct wording 2019-09-02 22:11:29 -07:00
Esteban Küber
c1e5e5c567 On object safety violation, point at source when possible 2019-09-02 20:22:22 -07:00
Esteban Küber
3ea932ab0e Refer to "self type" instead of "receiver type" 2019-09-02 19:07:04 -07:00
Esteban Küber
c430d743e9 Add match test cases 2019-09-02 17:37:50 -07:00
Mark Rousskov
dd323f8a72 Emit error on intrinsic to fn ptr casts 2019-09-02 17:28:37 -04:00
bors
9af17757be Auto merge of #63692 - iluuu1994:issue-49660, r=sfackler
Test that Wrapping arithmetic ops are implemented for all int types

Closes #49660
2019-09-02 15:32:08 +00:00
Esteban Küber
334d465732 Point at appropriate arm on type error on if/else/match with one non-! arm 2019-09-01 20:15:49 -07:00
Yuki Okushi
a937d8cdeb Fix tests again 2019-09-02 05:01:39 +09:00
Yuki Okushi
0cd9c1623f Fix condition and tests' flags 2019-09-02 03:40:35 +09:00
Yuki Okushi
8e9825aeb9 Fix overflow_check 2019-09-02 03:06:11 +09:00
bors
dfd43f0fdd Auto merge of #63870 - estebank:async-fn-call, r=oli-obk
Suggest call fn ctor passed as arg to fn with type param bounds

_Reviewer note: the relevant changes are in the second commit, the first is simple and mechanical, but verbose._

When forgetting to call a fn in an argument position to an fn that has a generic bound:

```rust
async fn foo() {}

fn bar(f: impl Future<Output=()>) {}

fn main() {
    bar(foo); // <- should be `bar(foo());`
}
```

suggest calling it:

```
error[E0277]: the trait bound `fn() -> impl std::future::Future {foo}: std::future::Future` is not satisfied
  --> $DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:9:5
   |
LL | fn bar(f: impl Future<Output=()>) {}
   | --------------------------------- required by `bar`
...
LL |     bar(foo);
   |     ^^^ the trait `std::future::Future` is not implemented for `fn() -> impl std::future::Future {foo}`
   |
   = help: it looks like you forgot to use parentheses to call the function: `foo()`
```

Fix #63100. Follow up to #63833 and #63337.
2019-09-01 18:04:49 +00:00
Yuki Okushi
4a0872b37e Add overflow_check check 2019-09-02 02:18:16 +09:00
Yuki Okushi
3a6aadaa8c Add opt-level check 2019-09-02 01:05:38 +09:00
Yuki Okushi
35c9e5f122 Fix const_err with -(-0.0) 2019-09-01 22:05:50 +09:00
Esteban Küber
a9ce33c059 Account for arbitrary self types in E0599 2019-09-01 02:22:42 -07:00
Esteban Küber
e553051950 review comment 2019-09-01 02:22:03 -07:00
Esteban Küber
cab607edcf Emit a single error on if expr with expectation and no else clause 2019-08-31 18:34:50 -07:00
Esteban Küber
aee6cd937a Fix nll tests 2019-08-31 13:40:20 -07:00
Matthew Jasper
754a875e15 Add some more tests for underscore imports 2019-08-31 16:50:39 +01:00
Matthew Jasper
877faf3844 Check impl trait substs when checking for recursive types
This prevents mutual `async fn` recursion
2019-08-31 15:44:09 +01:00
Matthew Jasper
7bb2d8b076 Slightly clean up the error for recursive async fn
* Make it clear that type erasure is required, not just pointer
  indirection.
* Don't make the message specific to direct recursion.
2019-08-31 15:43:24 +01:00
Matthew Jasper
c621919deb Kill borrows from assignments after generating new borrows 2019-08-31 15:35:20 +01:00
Esteban Küber
5384d5584f Suggest call fn ctor passed as arg to fn with type param bounds 2019-08-31 00:14:23 -07:00
Esteban Küber
444bc3ca66 Use span label instead of note for cause in E0631 2019-08-31 00:14:23 -07:00
bors
b3146549ab Auto merge of #63991 - Centril:unique-improper-ctype, r=rkruppe
`improper_ctypes`: guard against accidental change to `Unique<T>`

r? @eddyb
2019-08-31 06:38:46 +00:00
Mazdak Farrokhzad
5187a3e157 Harden param_attrs test wrt. usage of proc macro attrs. 2019-08-31 07:08:23 +02:00
Mazdak Farrokhzad
960ecdce7c improper_ctypes: guard against accidental change to Unique<T>. 2019-08-31 02:42:28 +02:00
bors
fd68d023f4 Auto merge of #64026 - Centril:rollup-le667lp, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62957 (Match the loop examples)
 - #63600 (Merge oli-obk mail addresses)
 - #63684 (Constify LinkedList new function)
 - #63847 ([rustdoc] Fix system theme detection)
 - #63999 (Add missing links on AsRef trait)
 - #64014 ( miri: detect too large dynamically sized objects )
 - #64015 (some const-eval test tweaks)

Failed merges:

r? @ghost
2019-08-30 21:31:01 +00:00
Mazdak Farrokhzad
d997596445
Rollup merge of #64015 - RalfJung:const-tests, r=oli-obk
some const-eval test tweaks

Best reviewed commit-by-commit.

r? @oli-obk
2019-08-30 23:08:07 +02:00
Mazdak Farrokhzad
1dc8b2304f
Rollup merge of #64014 - RalfJung:miri-slice, r=oli-obk
miri: detect too large dynamically sized objects

Needed to make https://github.com/rust-lang/miri/pull/929 pass.

r? @oli-obk
2019-08-30 23:08:06 +02:00
bors
4295eea903 Auto merge of #63982 - sam09:fix-63976, r=estebank
When accessing private field of union, do not misidentify it as a struct

Fix incorrect error message when accessing private field of union.

Fixes #63976.
2019-08-30 17:54:55 +00:00
Ralf Jung
bb3474994b add test 2019-08-30 15:04:12 +02:00
Ilija Tovilo
55800ce899
Skip wrapping arithmetic tests on emscripten for 128 bit integers 2019-08-30 14:10:46 +02:00