Matthias Krüger
f33ea418e2
Rollup merge of #106028 - Ezrashaw:add-docs+test-e0461, r=GuillaumeGomez
...
docs/test: add UI test and long-form error docs for `E0461`
Might take a couple of tries to pass CI. The UI test is x86-linux only; I'm not sure how to generalize it to other architectures.
r? ``@GuillaumeGomez``
2022-12-28 14:40:00 +01:00
bors
83a28ef095
Auto merge of #106129 - compiler-errors:compare_method-tweaks, r=BoxyUwU
...
Some `compare_method` tweaks
1. Make some of the comparison functions' names more regular
2. Reduce pub scope of some of the things in `compare_method`
~3. Remove some unnecessary opaque type handling code -- `InferCtxt` already is in a mode that doesn't define opaque types~
* moved to a different PR
4. Bubble up `ErrorGuaranteed` for region constraint errors in `compare_method` - Improves a redundant error message in one unit test.
5. Move the `compare_method` module to have a more general name, since it's more like `compare_impl_item` :)
6. Rename `collect_trait_impl_trait_tys`
2022-12-28 13:07:30 +00:00
Nikita Tomashevich
0c50e1f146
eager is the default now
2022-12-28 15:24:18 +03:00
Nikita Tomashevich
2a8b17dbc5
Fix formatting
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
dda3ebad0a
Fix broken rebase
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
a86173766c
Fix nits
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
62f9962eaf
Made ty_or_sig and trait_path use their actual types instead of String
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
7ecd064bbe
Split infer_explicit_lifetime_required into several diags
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
19b8579803
Address changes of pr 103345
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
40b221814e
Rename subdiagnostic fields that do not need to be unique now
2022-12-28 14:53:48 +03:00
Nikita Tomashevich
eb7ce1703b
Use eager translation
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
71d24da665
Split into several messages
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
6c19c08140
More descriptive names for ActualImplExplNotes variants
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
57fdd196ae
Rebase and fix
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
0634b0119c
Partial work on static_impl_trait.rs
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
3935a81d47
Migrate trait_impl_difference.rs
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
2118ff401f
Migrate placeholder_error.rs
2022-12-28 14:53:47 +03:00
Nikita Tomashevich
8360a40a8a
Migrate named_anon_conflict.rs
2022-12-28 14:53:47 +03:00
Deadbeef
983606d367
Allow trait method paths to satisfy const Fn bounds
2022-12-28 09:06:31 +00:00
fee1-dead
5e9c91c6dd
Rollup merge of #106205 - compiler-errors:oopsy, r=fee1-dead
...
Remove some totally duplicated files in `rustc_infer`
I have no idea why or how I duplicated these files from `compiler/rustc_infer/src/infer/error_reporting/note.rs`, but I did by accident, and nothing caught it 🤦
2022-12-28 15:51:43 +08:00
fee1-dead
f837da736f
Rollup merge of #106201 - estebank:verbose-transparent, r=compiler-errors
...
Emit fewer errors on invalid `#[repr(transparent)]` on `enum`
Fix #68420 .
2022-12-28 15:51:42 +08:00
fee1-dead
8b3d0c4cf9
Rollup merge of #105484 - nbdd0121:upcast, r=compiler-errors
...
Implement allow-by-default `multiple_supertrait_upcastable` lint
The lint detects when an object-safe trait has multiple supertraits.
Enabled in libcore and liballoc as they are low-level enough that many embedded programs will use them.
r? `@nikomatsakis`
2022-12-28 15:51:41 +08:00
fee1-dead
ade9605a08
Rollup merge of #105347 - estebank:single-line-match, r=compiler-errors
...
Account for `match` expr in single line
When encountering `match Some(42) { Some(x) => x, None => "" };`, output
```
error[E0308]: `match` arms have incompatible types
--> f53.rs:2:52
|
2 | let _ = match Some(42) { Some(x) => x, None => "" };
| -------------- - ^^ expected integer, found `&str`
| | |
| | this is found to be of type `{integer}`
| `match` arms have incompatible types
```
2022-12-28 15:51:40 +08:00
Michael Goulet
605ad65f6a
Remove some totally duplicated files
2022-12-28 05:45:12 +00:00
Michael Goulet
96d8011fa8
better names and a comment
2022-12-28 04:18:37 +00:00
Michael Goulet
c7b414adb6
Rename module compare_method -> compare_impl_item
2022-12-28 04:18:37 +00:00
Michael Goulet
91613c5030
make some things less pub
2022-12-28 04:18:37 +00:00
Esteban Küber
b6453a454f
Trim more paths in obligation types
2022-12-27 18:56:00 -08:00
Esteban Küber
50c1be1d19
Emit fewer errors on invalid #[repr(transparent)] on enum
...
Fix #68420 .
2022-12-27 18:28:02 -08:00
Esteban Küber
8e039b6948
Silence knock-down errors on [type error] bindings
...
Fix #56036 , fix #76589 .
2022-12-27 18:26:54 -08:00
Jhonny Bill Mena
4d63d7d91c
UPDATE - migrate outstanding diagnostic in link.rs
2022-12-27 20:59:22 -05:00
Jhonny Bill Mena
29d8c87fe8
DELETE - fn span_invalid_monomorphization_error and localize intrinsics macros
2022-12-27 20:59:22 -05:00
Jhonny Bill Mena
27744460e2
ADD - create and emit Bug support for Diagnostics
...
UPDATE - migrate constant span_bug to translatable diagnostic.
2022-12-27 20:59:22 -05:00
Jhonny Bill Mena
d1030fab22
UPDATE - migrate fn simd_simple_float_intrinsic error messages
2022-12-27 20:59:21 -05:00
Jhonny Bill Mena
e26366ad99
[WIP] UPDATE - migrate intrinsic.rs to new diagnostic infrastructure
...
WIP - replacing span_invalid_monomorphization_error function. Still in progress due to its use in codegen_llvm inside macros
2022-12-27 20:59:21 -05:00
Jhonny Bill Mena
d41112a8c5
UPDATE - migrate constant.rs to new diagnostics infrastructure
2022-12-27 20:59:21 -05:00
Jhonny Bill Mena
78796ba637
ADD - fixme in type_names.rs until we are able to translate InterpError
2022-12-27 20:59:21 -05:00
Jhonny Bill Mena
82cf6f204a
UPDATE - migrate base.rs to new diagnostics infrastructure
2022-12-27 20:59:19 -05:00
Esteban Küber
05e8ba126c
Account for match expr in single line
...
When encountering `match Some(42) { Some(x) => x, None => "" };`, output
```
error[E0308]: `match` arms have incompatible types
--> f53.rs:2:52
|
2 | let _ = match Some(42) { Some(x) => x, None => "" };
| -------------- - ^^ expected integer, found `&str`
| | |
| | this is found to be of type `{integer}`
| `match` arms have incompatible types
```
2022-12-27 16:45:55 -08:00
Esteban Küber
b400bde52a
Shorten type in note
2022-12-27 15:36:10 -08:00
Esteban Küber
df2a35ea3d
review comments
2022-12-27 13:44:39 -08:00
Nilstrieb
1322e476bf
Improve debug logs of find_width_of_character_at_span
2022-12-27 22:18:22 +01:00
Michael Goulet
18bf19c3a9
Rollup merge of #106064 - lukas-code:outlives-macro, r=cjgillot
...
Partially fix `explicit_outlives_requirements` lint in macros
Show the suggestion if and only if the bounds are from the same source context.
fixes https://github.com/rust-lang/rust/issues/106044
fixes https://github.com/rust-lang/rust/issues/106063
2022-12-27 12:33:35 -08:00
Michael Goulet
3fba7b4523
Rollup merge of #105965 - compiler-errors:issue-105896, r=cjgillot
...
Provide local extern function arg names
Fixes #105896
2022-12-27 12:33:35 -08:00
Michael Goulet
996fb664d3
Rollup merge of #105852 - compiler-errors:hex-float-lit, r=cjgillot
...
Suggest rewriting a malformed hex literal if we expect a float
Fixes #104706
2022-12-27 12:33:34 -08:00
Michael Goulet
a9fdeddafd
Rollup merge of #105765 - estebank:range-typo, r=compiler-errors
...
Detect likely `.` -> `..` typo in method calls
Fix #65015 .
2022-12-27 12:33:34 -08:00
Esteban Küber
7e84273b7f
Make resolve suggestion more generic
2022-12-27 12:16:25 -08:00
Michael Goulet
9f59ab55e6
Restore cyclic closure message
2022-12-27 17:56:57 +00:00
Michael Goulet
0817b1d3ed
Don't deduce a signature that makes a closure cyclic
2022-12-27 17:56:56 +00:00
Esteban Küber
0c0685bb68
review comments: make suggestion more accurate
2022-12-27 09:25:00 -08:00