Commit graph

24719 commits

Author SHA1 Message Date
varkor
56181cf8ab Correct pluralisation of tuple/array/associated type binding mismatch errors 2019-05-28 21:35:20 +01:00
varkor
854995313a Reintroduce TypeError::FixedArraySize 2019-05-28 21:35:20 +01:00
varkor
f13317ca2e Use Display rather than Debug printing for const mismatch 2019-05-28 21:35:20 +01:00
varkor
f865b7dda4 Update tests after pretty printing 2019-05-28 21:35:20 +01:00
varkor
cfa1f80cd9 Fix test after rebase 2019-05-28 21:35:20 +01:00
varkor
57ff5899d2 Add broken MIR regression tests 2019-05-28 21:35:20 +01:00
varkor
d5c6cb8778 Eagerly evaluate in super_relate_consts 2019-05-28 21:35:20 +01:00
varkor
908d97d03c Update test output 2019-05-28 21:34:42 +01:00
varkor
55dcc20f9a Add tests for uninferred consts during codegen 2019-05-28 21:34:42 +01:00
varkor
5a585fe45e Add a test for a function taking a const param array as an argument 2019-05-28 21:34:42 +01:00
Mazdak Farrokhzad
e06547fe8d
Rollup merge of #61250 - rye:print-target-list--rm-ios-case, r=alexcrichton
Remove special case for *ios* builds in run-make-fulldeps/print-target-list Makefile

Previous `TODO` comment in this file mentions [an issue that was closed](https://github.com/rust-lang/rust/issues/29812), and I was able to confirm locally that provided code in that issue no longer produces an ICE. Discussion on that issue seems to indicate this code was no longer needed as of 1.12.0.

I removed the `*ios*` branch from this `case` statement as it may cause confusion, then removed the case statement entirely as it only had a wildcard branch.
2019-05-28 18:15:41 +02:00
Mazdak Farrokhzad
3b5157917a
Rollup merge of #61220 - imbrem:error_explanations, r=estebank
Added error message for E0284

Work on #61137
2019-05-28 11:48:55 +02:00
bors
87ed0b421d Auto merge of #61036 - michaelwoerister:pgo-xlto-test, r=alexcrichton
PGO - Add a smoketest for combining PGO with cross-language LTO.

This PR

- Adds a test making sure that PGO can be combined with cross-language LTO.
- Does a little cleanup on how the `pgo-use` flag is handled internally.
- Makes the compiler error if the `pgo-use` file given to `rustc` doesn't actually exist. LLVM only gives a warning and then just doesn't do PGO. Clang, on the other hand, does give an error in this case.
- Makes the build system also build `compiler-rt` when building LLDB. This way the Clang compiler that we get from building LLDB can perform PGO, which is something that the new test case wants to do. CI compile times shouldn't be affected too much.
2019-05-28 01:56:44 +00:00
Kristofer Rye
e0f017da75
Fix an sh error
Didn't think it was this particular about things, but I also should
have tested locally.

It makes sense, though---`\` followed by LF would eat it, so we'd have
`sysroot done` instead of `sysroot; done` as it is parsed.  This should
pass now.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
Tested-by: Kristofer Rye <kristofer.rye@gmail.com>
2019-05-27 19:40:11 -05:00
Jad Ghalayini
b3480126d4 Incorporated suggested changes 2019-05-27 19:37:20 -04:00
Kristofer Rye
57cea25151
Remove now-dead case statement in print-target-list Makefile
Since this case statement no longer has any branches, remove it.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2019-05-27 16:52:54 -05:00
Kristofer Rye
8de3ddf8d8
Remove *ios* case from print-target-list Makefile
Based on the TODO, this case was added to short-circuit for ios builds,
which is no longer necessary.

The comment in this Makefile mentions rust-lang/rust#29812 as a
dependency, but that issue has been since closed, with a statement that
the ICE of concern was resolved circa 1.12.

Here we remove this case, and just run the same branch for all targets.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2019-05-27 16:44:16 -05:00
bors
e70d5386d7 Auto merge of #61140 - estebank:attr-diagnostics, r=michaelwoerister
Reword malformed attribute input diagnostics

- Handle empty `cfg_attr` attribute
- Reword empty `derive` attribute error
- Use consistend error message: "malformed `attrname` attribute input"
- Provide suggestions when possible
- Move note/help to label/suggestion
- Use consistent wording "ill-formed" -> "malformed"
- Move diagnostic logic out of parser

Split up from https://github.com/rust-lang/rust/pull/61026, where there's prior conversation.
2019-05-27 20:12:14 +00:00
Michael Woerister
1de93a7814 Add a smoketest for combining PGO with xLTO. 2019-05-27 14:32:03 +02:00
bors
ed2a5115da Auto merge of #61147 - estebank:suggest-as-ref, r=oli-obk
When encountering move error on an `Option`, suggest using `as_ref`

Fix #61109, cc #15457.
2019-05-27 01:10:22 +00:00
Mazdak Farrokhzad
6ae3c2b2a4
Rollup merge of #61189 - oli-obk:turbofish_ice, r=varkor
Turn turbo 🐟 🍨 into an error

Master branch part of #60989

r? @varkor
2019-05-26 02:13:33 +02:00
Mazdak Farrokhzad
b4a3d44a87
Rollup merge of #61144 - estebank:issue-61108, r=matthewjasper
Suggest borrowing for loop head on move error

Fix #61108.
2019-05-26 02:13:27 +02:00
Mazdak Farrokhzad
24cc368118
Rollup merge of #61087 - estebank:parsepalooza, r=Centril
Tweak `self` arg not as first argument of a method diagnostic

Mention that `self` is only valid on "associated functions"
```
error: unexpected `self` argument in function
  --> $DIR/self-in-function-arg.rs:1:15
   |
LL | fn foo(x:i32, self: i32) -> i32 { self }
   |               ^^^^ not valid as function argument
   |
   = note: `self` is only valid as the first argument of an associated function
```

When it is a method, mention it must be first
```
error: unexpected `self` argument in function
  --> $DIR/trait-fn.rs:4:20
   |
LL |     fn c(foo: u32, self) {}
   |                    ^^^^ must be the first associated function argument
```

Move a bunch of error recovery methods to `diagnostics.rs` away from `parser.rs`.

Fix #51547. CC #60015.
2019-05-26 02:13:24 +02:00
Oliver Scherer
a15df94b69 Turn ICE on type arguments on variables into an error 2019-05-25 21:16:27 +02:00
Esteban Küber
4e68ddca90 review comments: move back some methods and clean up wording 2019-05-25 12:15:06 -07:00
Esteban Küber
976541884f Tweak self arg not as first argument of a method diagnostic
Mention that `self` is only valid on "associated functions"
```
error: unexpected `self` argument in function
  --> $DIR/self-in-function-arg.rs:1:15
   |
LL | fn foo(x:i32, self: i32) -> i32 { self }
   |               ^^^^ not valid as function argument
   |
   = note: `self` is only valid as the first argument of an associated function
```

When it is a method, mention it must be first
```
error: unexpected `self` argument in function
  --> $DIR/trait-fn.rs:4:20
   |
LL |     fn c(foo: u32, self) {}
   |                    ^^^^ must be the first associated function argument
```
2019-05-25 12:05:18 -07:00
Esteban Küber
609ffa1a89 Reword malformed attribute input diagnostics
- Handle empty `cfg_attr` attribute
- Reword empty `derive` attribute error
- Use consistend error message: "malformed `attrname` attribute input"
- Provide suggestions when possible
- Move note/help to label/suggestion
- Use consistent wording "ill-formed" -> "malformed"
- Move diagnostic logic out of parser
2019-05-25 11:55:50 -07:00
Esteban Küber
1cc42ea675 Add support for suggesting as_ref to Result accesses 2019-05-25 11:12:41 -07:00
Oliver Scherer
0b732aa607 Update nll ui tests 2019-05-25 17:21:29 +02:00
Oliver Scherer
dd327951eb Update ui tests 2019-05-25 10:07:02 +02:00
Oliver Scherer
fa459a08e1 Fix rebase fallout 2019-05-25 10:07:02 +02:00
Oliver Scherer
28198bb3be Update ui tests 2019-05-25 10:07:02 +02:00
Oliver Scherer
90bb861b2e Fix tidy 2019-05-25 10:07:01 +02:00
Oliver Scherer
fec79d3552 Print generic args in function calls in MIR 2019-05-25 10:07:01 +02:00
Oliver Scherer
669bc77886 u8 is printed as a number, not a character 2019-05-25 10:07:01 +02:00
Oliver Scherer
9b5896ade3 Render const byte slices in MIR 2019-05-25 10:07:01 +02:00
Oliver Scherer
fa17654f79 Make ConstValue::Slice solely take [u8] and str 2019-05-25 10:07:01 +02:00
Oliver Scherer
264c149c89 Add test showing how byte slices are printed in MIR 2019-05-25 10:07:01 +02:00
Mazdak Farrokhzad
19b5a10346
Rollup merge of #61138 - varkor:async-await-tests, r=cramertj
Move async/await tests to their own folder

This moves run-pass and ui async/await tests to their own folder `src/test/ui/async-await` and organises some into subfolders. (It does not move rustdoc tests for async/await.)

I also did some drive-by cleaning up of issues/error code tests into their own folders (which already existed). These are in separate commits, so easy to separate out if that's more desirable.

r? @cramertj
2019-05-25 04:55:45 +02:00
Mazdak Farrokhzad
57139e2055
Rollup merge of #61118 - pnkfelix:issue-60654-dont-ice-on-gat, r=varkor
Dont ICE on an attempt to use GAT without feature gate

Fix #60654
2019-05-25 04:55:39 +02:00
Mazdak Farrokhzad
8e5e1a0d3c
Rollup merge of #61113 - SimonSapin:fnbox, r=alexcrichton
Deprecate `FnBox`. `Box<dyn FnOnce()>` can be called directly, since 1.35

FCP completion: https://github.com/rust-lang/rust/issues/28796#issuecomment-439731515
2019-05-25 04:55:36 +02:00
Esteban Küber
4b0963653e When encountering move error on an Option, suggest using as_ref 2019-05-24 19:10:00 -07:00
Esteban Küber
274b7e49e0 Suggest borrowing for loop head on move error 2019-05-24 18:23:43 -07:00
varkor
c91ab64048 Add extra arc_wake 2019-05-25 00:23:15 +01:00
Esteban Küber
ee7593e0ac Revert changes that belong to separate PR 2019-05-24 15:17:32 -07:00
varkor
79816bb9e3 Delete stray .stderr 2019-05-24 22:36:57 +01:00
varkor
aea04009e4 Move error code tests to error code folder 2019-05-24 22:07:35 +01:00
varkor
cb7e0d0dd3 Add issues folder in async-await 2019-05-24 22:06:09 +01:00
varkor
06b85709d4 Add drop-order folder in test/ui/async-await 2019-05-24 22:05:57 +01:00
varkor
df26dd8fd1 Add auxiliary issue file 2019-05-24 22:03:14 +01:00