Commit graph

4814 commits

Author SHA1 Message Date
kennytm
70cf325502
Rollup merge of #59355 - varkor:const-param-struct-ice, r=petrochenkov
Fix ICE with const generic param in struct

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

r? @petrochenkov
2019-03-24 19:00:18 +08:00
kennytm
1d286f7918
Rollup merge of #59296 - petrochenkov:stdup, r=estebank
Do not encode gensymed imports in metadata

(Unless they are underscore `_` imports which are re-gensymed on crate loading, see https://github.com/rust-lang/rust/pull/56392.)

We cannot encode gensymed imports properly in metadata and if we encode them improperly, we can get erroneous name conflicts downstream.
Gensymed imports are produced by the compiler, so we control their set, and can be sure that none of them needs being encoded for use from other crates.

A workaround that fixes https://github.com/rust-lang/rust/issues/59243.
2019-03-24 19:00:04 +08:00
Esteban Küber
59f0f2edc1 Fix span after rebase 2019-03-23 14:10:39 -07:00
Esteban Küber
0a4ecf3438 Mark duplicate import removal suggestion tool only 2019-03-23 13:05:30 -07:00
Esteban Küber
ce90db1ff1 Deduplicate const eval error spans for better output 2019-03-23 13:05:30 -07:00
Esteban Küber
44730271f7 Hide obvious suggestion from cli output 2019-03-23 13:05:30 -07:00
Esteban Küber
3211f38828 Tweak unnecessary import suggestion 2019-03-23 13:05:30 -07:00
Esteban Küber
9bfb0ef818 Tweak unsupported negative trait bounds message 2019-03-23 13:05:30 -07:00
Esteban Küber
e1be8b0318 Swap primary/secondary spans for E0458 2019-03-23 13:05:30 -07:00
Esteban Küber
8e043950c8 Swap const evaluation lint spans to point at problem in primary span 2019-03-23 13:05:30 -07:00
Esteban Küber
1b0ab0b8a9 Tweak spans for E0599 2019-03-23 13:05:29 -07:00
bors
d51a437e28 Auto merge of #59058 - petrochenkov:assocrecov3, r=estebank
syntax: Better recovery for `$ty::AssocItem` and `ty!()::AssocItem`

This PR improves on https://github.com/rust-lang/rust/pull/46788 covering a few missing cases.

Fixes https://github.com/rust-lang/rust/issues/52307
Fixes https://github.com/rust-lang/rust/issues/53776
r? @estebank
2019-03-23 05:51:16 +00:00
bors
f21dee2c61 Auto merge of #58929 - estebank:elide-object, r=zackmdavis
Elide object safety errors on non-existent trait function

Fix #58734.

r? @zackmdavis
2019-03-23 02:40:15 +00:00
Mazdak Farrokhzad
4be19e36d9
Rollup merge of #59347 - petrochenkov:nomake, r=davidtwco
Move one test from run-make-fulldeps to ui

The test was written when `--extern` without path didn't exist.
2019-03-22 19:31:40 +01:00
Mazdak Farrokhzad
de08d0ec2d
Rollup merge of #59323 - euclio:enum-instead-of-variant, r=varkor
use suggestions for "enum instead of variant" error
2019-03-22 19:31:36 +01:00
Mazdak Farrokhzad
9d33d6fa4b
Rollup merge of #59322 - estebank:diag-tweak, r=davidtwco
Tweak incorrect escaped char diagnostic
2019-03-22 19:31:34 +01:00
Mazdak Farrokhzad
11429b2d13
Rollup merge of #59321 - varkor:unify-E0109-E0110-E0111, r=davidtwco
Unify E0109, E0110 and E0111

Error messages should no longer be restricted to specific generic kinds.
2019-03-22 19:31:33 +01:00
Mazdak Farrokhzad
0407c642f5
Rollup merge of #59297 - euclio:field-method-suggestions, r=estebank
convert field/method confusion help to suggestions
2019-03-22 19:31:28 +01:00
Mazdak Farrokhzad
5a0e4510a8
Rollup merge of #59266 - estebank:struct-parse-recovery, r=petrochenkov
Do not complain about non-existing fields after parse recovery

When failing to parse struct-like enum variants, the ADT gets recorded
as having no fields. Record that we have actually recovered during
parsing of this variant to avoid complaing about non-existing fields
when actually using it.

Fix #57361.
2019-03-22 19:31:24 +01:00
Mazdak Farrokhzad
225b6baae7
Rollup merge of #59190 - greg-kargin:master, r=sanxiyn
consistent naming for Rhs type parameter in libcore/ops

Rename RHS type parameter occurrences RHS->Rhs to make it consistent throughout files and follow naming conventions.
2019-03-22 19:31:21 +01:00
bors
2210e9a6a9 Auto merge of #59035 - estebank:closure-instacall, r=davidtwco
When encountering `||{}()`, suggest the likely intended `(||{})()`

Fix #55851.
2019-03-22 11:18:11 +00:00
bors
a85ec7c2c0 Auto merge of #59031 - estebank:recover-from-comaless, r=petrochenkov
Recover from missing comma between enum variants and from bad `pub` kw

Fix #56579. Fix #56473.
2019-03-22 04:52:10 +00:00
varkor
f94f85bebd Fix ICE with const generic param in struct 2019-03-22 01:49:42 +00:00
bors
86466a397a Auto merge of #58981 - estebank:elseless-if, r=davidtwco
Point at coercion reason for `if` expressions without else clause if caused by return type

```
error[E0317]: if may be missing an else clause
  --> $DIR/if-without-else-as-fn-expr.rs:2:5
   |
LL |   fn foo(bar: usize) -> usize {
   |                         ----- found `usize` because of this return type
LL | /     if bar % 5 == 0 {
LL | |         return 3;
LL | |     }
   | |_____^ expected (), found usize
   |
   = note: expected type `()`
              found type `usize`
   = note: `if` expressions without `else` must evaluate to `()`
```

Fix #25228.
2019-03-21 23:42:41 +00:00
Vadim Petrochenkov
6389478d70 Move one test from run-make-fulldeps to ui 2019-03-21 23:36:50 +03:00
Vadim Petrochenkov
fa013896f7 hygiene: Fix identifier comparison in impl overlap check 2019-03-21 22:20:10 +03:00
Andy Russell
16a8abe1bb
use suggestions for "enum instead of variant" error 2019-03-21 11:04:15 -04:00
Esteban Küber
a8120d660a Tweak incorrect escaped char diagnostic 2019-03-20 11:45:25 -07:00
varkor
aff175b328 Update tests 2019-03-20 18:32:52 +00:00
Andy Russell
a291d4e94c
convert field/method confusion help to suggestions 2019-03-19 15:56:29 -04:00
Vadim Petrochenkov
30d5dc9a0a Do not encode gensymed imports in metadata 2019-03-19 22:50:46 +03:00
Mazdak Farrokhzad
8ebe2acb7b
Rollup merge of #59116 - estebank:comma-sugg, r=petrochenkov
Be more discerning on when to attempt suggesting a comma in a macro invocation

Fix #58796.
2019-03-19 15:16:55 +01:00
Mazdak Farrokhzad
d4ef74b2da
Rollup merge of #57847 - clarcharr:dbg_no_params, r=Centril
dbg!() without parameters

Fixes #57845.
2019-03-19 15:16:46 +01:00
Mazdak Farrokhzad
c1975dbd34
Rollup merge of #57729 - pnkfelix:issue-55748-pat-types-are-constraints-on-bindings-too, r=nikomatsakis
extra testing of how NLL handles wildcard type `_`

test that wildcard type `_` is not duplicated by `type Foo<X> = (X, X);` and potentially instantiated at different types when used in type ascriptions in let bindings.

(NLL's handling of this for the type ascription *expression form* is currently broken, or at least differs from what AST-borrowck does. I'll file a separate bug about that. Its not something critical to address since that expression is guarded by `#![feature(type_ascription)]`.)

cc #55748
2019-03-19 15:16:45 +01:00
bors
3bf064beaa Auto merge of #56462 - Zoxc:query-macro, r=oli-obk
Define queries using a proc macro

cc @rust-lang/compiler
2019-03-18 21:24:12 +00:00
bors
cd45b19bd2 Auto merge of #58872 - rep-nop:diagnostic-fix-56031, r=petrochenkov
Adds help message in error for invalid `impl for T` syntax

Fixes #56031.
2019-03-18 08:03:05 +00:00
John Kåre Alsaker
9e9d03fd66 Add load_cached query modifier and keep dep node names consistent with query names 2019-03-18 08:20:09 +01:00
John Kåre Alsaker
7d90547532 Define queries using a proc macro 2019-03-18 08:20:06 +01:00
Esteban Küber
6007e6f649 Do not complain about non-existing fields after parse recovery
When failing to parse struct-like enum variants, the ADT gets recorded
as having no fields. Record that we have actually recovered during
parsing of this variant to avoid complaing about non-existing fields
when actually using it.
2019-03-17 20:09:53 -07:00
bors
817d074e54 Auto merge of #59250 - bovinebuddha:filter_ui_revision_tests, r=petrochenkov
Filter ui revision tests

Updates UI test output filtering to also filter away test annotations for revisions:

Previously filtered: //~ ERROR [XXXX]
Now also filters: //[revision]~ ERROR [XXXX]

I reckon, if we have the one, we should have the other for consistency, its lack was probably an oversight (the existence of revision testing is not really well documented...)
2019-03-17 23:51:18 +00:00
bors
c82834e2b9 Auto merge of #58994 - oli-obk:deprecated_derive, r=petrochenkov
Hide deprecation warnings inside derive expansions

Fixes #58822
2019-03-17 20:49:55 +00:00
bors
f649c76e98 Auto merge of #59047 - petrochenkov:modnodefid, r=Centril
resolve: Account for new importable entities

Fixes the ICE encountered in https://github.com/rust-lang/rust/pull/58837
r? @Centril
2019-03-17 17:25:10 +00:00
Mathias Blikstad
704649d96d Removed obsolete .stderr test outputs 2019-03-17 17:01:59 +01:00
Mathias Blikstad
faed3a2b19 Updated UI test output to remove test annotations for revisions 2019-03-17 17:00:18 +01:00
Esteban Küber
1aa43af370 parse full visibility when recovering 2019-03-16 17:47:57 -07:00
Esteban Küber
b2b9555f95 Recover from incorrect pub kw in "reasonable" places 2019-03-16 17:47:57 -07:00
Esteban Küber
532dd4475b Recover from missing comma between enum variants 2019-03-16 17:47:00 -07:00
Oliver Scherer
a69e12c21b Don't report deprecation lints in derive expansions 2019-03-16 22:33:15 +01:00
Vadim Petrochenkov
6ad55b3dec syntax: Introduce Ident::can_be_raw 2019-03-16 23:13:15 +03:00
Vadim Petrochenkov
5cb5083909 syntax_ext: Validate #[proc_macro_derive] input better
Tweak some error wording
2019-03-16 23:13:15 +03:00