Esteban Küber
bd8b46800d
Tweak wording of type errors involving type params
...
Fix #78206 .
2023-10-18 23:53:18 +00:00
Esteban Küber
890e92feed
Unify suggestion wording
2023-10-17 17:33:55 +00:00
Michael Goulet
592163fb71
Extend impl's def_span to include where clauses
2023-10-09 11:47:02 +00:00
Alex Macleod
5453a9f34d
Add a note to duplicate diagnostics
2023-10-05 01:04:41 +00:00
Michael Goulet
82e7cec16d
Tweak expected message to explain what it's actually signifying
2023-09-23 00:57:17 +00:00
Matthias Krüger
f279afb455
Rollup merge of #115743 - compiler-errors:no-impls, r=davidtwco
...
Point out if a local trait has no implementations
Slightly helps with #115741
2023-09-11 17:03:32 +02:00
Michael Goulet
30e6cea0ae
Point out if a local trait has no implementations
2023-09-10 21:20:36 +00:00
Ralf Jung
3bd8bcb8bb
better spans for WF errors
2023-09-09 18:00:13 +02:00
Ralf Jung
a5b0311367
rustc_layout, rustc_abi: make sure the types are well-formed
2023-09-09 17:32:12 +02:00
Lieselotte
a0e0a3261e
E0220: only suggests associated types if there's only one candidate
2023-09-08 08:44:23 +02:00
Lieselotte
96c96645c7
Improve "associated type not found" diagnostics
2023-09-08 06:52:17 +02:00
Caio
5a69151d7d
Move tests
2023-08-28 17:47:37 -03:00
Esteban Küber
ef11db803c
Remove unnecessary select_obligations_where_possible
and redundant errors
2023-08-26 19:35:54 +00:00
Esteban Küber
b6494a7bb4
More accurately point at arguments
2023-08-26 19:25:46 +00:00
Esteban Küber
bac0e556f0
On let binding type point to type parameter that introduced unmet bound
...
On the following example, point at `String` instead of the whole type:
```
error[E0277]: the trait bound `String: Copy` is not satisfied
--> $DIR/own-bound-span.rs:14:24
|
LL | let _: <S as D>::P<String>;
| ^^^^^^ the trait `Copy` is not implemented for `String`
|
note: required by a bound in `D::P`
--> $DIR/own-bound-span.rs:4:15
|
LL | type P<T: Copy>;
| ^^^^ required by this bound in `D::P`
```
2023-08-26 02:23:25 +00:00
Esteban Küber
120c24dab5
Point at appropriate type parameter in more trait bound errors
2023-08-26 01:07:05 +00:00
Michael Goulet
13e8b13e15
Handle Self in paths too
2023-08-25 19:05:38 +00:00
Urgau
1c73248b67
Revert PR #114052 to fix invalid suggestion
2023-08-17 14:33:33 +02:00
clubby789
683b2656bf
Refactor suggest_copied_cloned_or_as_ref
2023-07-27 23:13:25 +00:00
clubby789
c83dfe9aed
Suggest {Option,Result}::as_ref()
instead of cloned()
in some cases
2023-07-25 13:19:27 +00:00
nxya
a54a66830d
moved note as unspanned note, moved note to the bottom of the msg
2023-07-18 21:53:34 -04:00
nxya
e6e8892051
added links as a note
2023-07-18 09:27:35 -04:00
nxya
f92a9f6808
add links to query documentation for E0391
2023-07-18 09:27:26 -04:00
nxya
bef91ee687
added links as a note
2023-07-18 09:20:25 -04:00
nxya
c429a72db9
add links to query documentation for E0391
2023-07-18 09:20:25 -04:00
许杰友 Jieyou Xu (Joe)
edafbaffb2
Adjust UI tests for unit_bindings
...
- Either explicitly annotate `let x: () = expr;` where `x` has unit
type, or remove the unit binding to leave only `expr;` instead.
- Fix disjoint-capture-in-same-closure test
2023-06-12 20:24:48 +08:00
Michael Goulet
c92140e838
Don't suggest cyclic associated type constraint
2023-06-08 16:30:05 +00:00
Michael Goulet
14bf909e71
Note base types of coercion
2023-05-12 00:10:52 +00:00
Michael Goulet
bb99cdc7cd
vars are ?
2023-04-25 19:53:09 +00:00
Caio
4adc5f9281
Move test files
2023-04-20 15:06:17 -03:00
Esteban Küber
5b40aa5eb4
Tweak output for 'add line' suggestion
2023-04-12 22:50:10 +00:00
Oli Scherer
f263f88bea
Split out a separate feature gate for impl trait in associated types
2023-04-12 16:17:31 +00:00
Michael Goulet
25c342f30a
Split implied and super predicate queries
2023-04-11 17:45:42 +00:00
Vadim Petrochenkov
f5a9f6fb7e
rustc_metadata: Filter encoded data more aggressively using DefKind
2023-04-10 16:24:36 +03:00
Camille GILLOT
8c0cbd8767
Do not ICE when failing to normalize in ConstProp.
2023-03-06 09:28:49 +00:00
Michael Howell
3f374128ee
diagnostics: update test cases to refer to assoc fn with self
as method
2023-02-22 08:40:47 -07:00
Michael Goulet
a58682d7cc
Specify what 'this' actually is
2023-02-21 05:21:07 +00:00
Caio
d75e43c371
Move tests
2023-02-16 11:42:35 -03:00
Edward Shen
af5a37e844
Modify existing bounds if they exist
2023-02-06 11:26:36 -08:00
Esteban Küber
5ae8e23816
Mention fn coercion rules (needs to be expanded)
2023-01-30 21:51:33 +00:00
Esteban Küber
153ed09fb3
Tweak use of trimmed paths
2023-01-30 20:12:21 +00:00
Esteban Küber
252c43b42b
Do not mention lifetime names in force trimmed paths
2023-01-30 20:12:21 +00:00
Esteban Küber
62ba3e70a1
Modify primary span label for E0308
...
The previous output was unintuitive to users.
2023-01-30 20:12:19 +00:00
Matthias Krüger
3aeafca070
Rollup merge of #107304 - Nilstrieb:ᐸTy as PartialEqᐳ::eq because what else are we gonna use in rustc_middle, r=compiler-errors
...
Use `can_eq` to compare types for default assoc type error
This correctly handles inference variables like `{integer}`. I had to move all of this `note_and_explain` code to `rustc_infer`, it made no sense for it to be in `rustc_middle` anyways.
The commits are reviewed separately.
Fixes #106968
2023-01-26 07:53:26 +01:00
Nilstrieb
943000fdcf
Use can_eq
to compare types for default assoc type error
...
This works correctly with inference variables.
2023-01-25 21:25:42 +01:00
Esteban Küber
656db98bd9
Tweak E0597
...
CC #99430
2023-01-15 19:46:20 +00:00
Matthias Krüger
8c538f7d83
Rollup merge of #106788 - estebank:elaborate_pred_E0599, r=compiler-errors
...
Tweak E0599 and elaborate_predicates
CC https://github.com/rust-lang/rust/issues/86377 .
2023-01-14 13:04:26 +01:00
Esteban Küber
3d6b09e53e
Keep obligation chain when elaborating obligations
2023-01-13 18:20:23 +00:00
Matthias Krüger
c6e3a47843
Rollup merge of #106585 - estebank:issue-46585, r=compiler-errors
...
When suggesting writing a fully qualified path probe for appropriate types
Address the more common part of #46585 .
2023-01-13 19:16:42 +01:00
Michael Goulet
d7113948d3
Rollup merge of #106524 - compiler-errors:constructor-note, r=cjgillot
...
Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch
Fixes #106516
2023-01-11 22:25:49 -08:00