bors
9693b178fc
Auto merge of #110252 - matthiaskrgr:rollup-ovaixra, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #109810 (Replace rustdoc-ui/{c,z}-help tests with a stable run-make test )
- #110035 (fix: ensure bad `#[test]` invocs retain correct AST)
- #110089 (sync::mpsc: synchronize receiver disconnect with initialization)
- #110103 (Report overflows gracefully with new solver)
- #110122 (Fix x check --stage 1 when download-ci-llvm=false)
- #110133 (Do not use ImplDerivedObligationCause for inherent impl method error reporting)
- #110135 (Revert "Don't recover lifetimes/labels containing emojis as character literals")
- #110235 (Fix `--extend-css` option)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-12 22:19:29 +00:00
Matthias Krüger
92eb36461b
Rollup merge of #110103 - compiler-errors:new-solver-overflows, r=lcnr
...
Report overflows gracefully with new solver
avoid reporting overflows as ambiguity errors, so that the error message is clearer.
r? ```@lcnr```
2023-04-12 22:04:33 +02:00
bors
4087deaccd
Auto merge of #110249 - matthiaskrgr:rollup-7iig04q, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #110153 (Fix typos in compiler)
- #110165 (rustdoc: use CSS `overscroll-behavior` instead of JavaScript)
- #110175 (Symbol cleanups)
- #110203 (Remove `..` from return type notation)
- #110205 (rustdoc: make settings radio and checks thicker, less contrast)
- #110222 (Improve the error message when forwarding a matched fragment to another macro)
- #110237 (Split out a separate feature gate for impl trait in associated types)
- #110241 (tidy: Issue an error when UI test limits are too high)
Failed merges:
- #110218 (Remove `ToRegionVid`)
r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-12 20:01:36 +00:00
Matthias Krüger
331e7c3659
Rollup merge of #110153 - DaniPopes:compiler-typos, r=Nilstrieb
...
Fix typos in compiler
I ran [`typos -w compiler`](https://github.com/crate-ci/typos ) to fix typos in the `compiler` directory.
Refs #110150
2023-04-12 20:56:21 +02:00
Matthias Krüger
7614ea42fc
Rollup merge of #110210 - nnethercote:DescriptionCtx-cleanups, r=davidtwco
...
`DescriptionCtx` cleanups
Best reviewed one commit at a time.
r? `@davidtwco`
2023-04-12 17:04:33 +02:00
Nicholas Nethercote
76d0c6f518
Inline and remove msg_span_from_early_bound_and_free_regions
.
...
For similar reasons to the previous commit.
2023-04-12 08:02:38 +10:00
Nicholas Nethercote
877777f5bc
Inline and remove DescriptionCtx::from_early_bound_and_free_regions
.
...
It has a single call site, and the code is clearer with all region kinds
handled in one function, instead of splitting the handling across two
functions.
The commit also changes `DescriptionCtx::new` to use a more declarative
style, instead of creating a default `DescriptionCtx` and modifying it,
which I find easier to read.
2023-04-12 08:02:38 +10:00
Nicholas Nethercote
c9b0635679
Inline and remove DescriptionCtx::add_to
.
...
It has a single callsite.
2023-04-12 08:02:32 +10:00
Michael Goulet
7ec72efe10
Allow the elaborator to only filter to real supertraits
2023-04-11 17:45:42 +00:00
Michael Goulet
25c342f30a
Split implied and super predicate queries
2023-04-11 17:45:42 +00:00
Michael Goulet
3dab259cb9
Split super_predicates_that_define_assoc_type query from super_predicates_of
2023-04-11 17:40:54 +00:00
Nicholas Nethercote
955ba37aa5
Remove the unused anon_num_here
error.
2023-04-11 17:25:47 +10:00
DaniPopes
677357d32b
Fix typos in compiler
2023-04-10 22:02:52 +02:00
bors
88fb1b922b
Auto merge of #108698 - IntQuant:issue-100717-infer-6, r=davidtwco
...
Migrating rustc_infer to session diagnostics (part 5)
`@rustbot` label +A-translation
cc https://github.com/rust-lang/rust/issues/100717
2023-04-10 19:38:48 +00:00
Michael Goulet
05a6daab84
Report overflows gracefully with new solver
2023-04-10 16:36:30 +00:00
bors
f8ed97ecc1
Auto merge of #110031 - compiler-errors:generic-elaboration, r=b-naber
...
Make elaboration generic over input
Combines all the `elaborate_*` family of functions into just one, which is an iterator over the same type that you pass in (e.g. elaborating `Predicate` gives `Predicate`s, elaborating `Obligation`s gives `Obligation`s, etc.)
2023-04-09 00:18:10 +00:00
bors
131211acd2
Auto merge of #110043 - ickk:fix_infer_message, r=eholk
...
Fix help message for `infer_source_kind_subdiag_let`
I discovered there's a double "the" in the help message for E0282.
2023-04-08 03:26:54 +00:00
ickk
726598ed9a
fix infer_source_kind_subdiag_let help message - remove double "the"
2023-04-07 17:42:17 +10:00
Jack Huey
b15195a304
Remove u32 on BoundTyKind::Anon
2023-04-06 23:08:04 -04:00
Jack Huey
f0edcc8a6f
Remove index from BrAnon
2023-04-06 23:01:40 -04:00
Jack Huey
e4edf00f12
Don't use BrAnon index in diagnostics
2023-04-06 23:01:38 -04:00
Jack Huey
4646b3df6a
Use BoundTy and BoundRegion instead of kind of PlaceholderTy and PlaceholderRegion
2023-04-06 23:01:35 -04:00
Michael Goulet
2cd0729d63
Get rid of elaborate_trait_ref{s} too
2023-04-06 23:30:22 +00:00
Michael Goulet
758bedc104
Make elaborator generic
2023-04-06 23:30:22 +00:00
Matthias Krüger
e63586f386
Rollup merge of #109957 - fmease:fix-109905, r=petrochenkov
...
diagnostics: account for self type when looking for source of unsolved type variable
Fixes #109905 .
When searching for the source of an unsolved infer var inside of a list of generic args, we look through the `tcx.generics_of(…).own_substs(…)` which *skips* the self type if present. However, the computed `argument_index` is later[^1] used to index into `tcx.generics_of(…).params` which may still contain the self type. In such case, we are off by one when indexing into the parameters.
From now on, we account for this immediately after calling `own_substs` which keeps things local.
This also fixes the wrong output in the preexisting UI test `inference/need_type_info/concrete-impl.rs` which was overlooked. It used to claim that the *type of type parameter `Self`* couldn't be inferred in `<Struct as Ambiguous<_>>::method()` which of course isn't true: `Self` equals `Struct` here, `A` couldn't be inferred.
`@rustbot` label A-diagnostics
[^1]: f98a271814/compiler/rustc_infer/src/infer/error_reporting/need_type_info.rs (L471)
2023-04-07 00:00:24 +02:00
León Orell Valerian Liehr
b904ce94a2
account for self type when looking for source of unsolved ty var
2023-04-05 20:28:18 +02:00
Michael Goulet
5485a54e19
Rollup merge of #109913 - scottmcm:index-slice, r=WaffleLapkin
...
Doc-comment `IndexVec::from_elem` and use it in a few more places
Since this PR is a reply to https://github.com/rust-lang/rust/pull/109819#discussion_r1156128164 ,
r? ``@WaffleLapkin``
2023-04-04 09:27:45 -07:00
IQuant
3fb6d6b2f4
Now passes tests
2023-04-04 19:18:34 +03:00
IQuant
467d367df7
Rename tuple_wrap_err_subdiag to suggest_wrap_to_build_a_tuple, making it more consistent with similar functions
2023-04-04 18:50:07 +03:00
IQuant
21d5bedd5f
Extract suggest_specify_actual_length into a separate function
2023-04-04 18:50:07 +03:00
IQuant
6a05cd85ad
A more general implementation of IntoDiagnosticArg
for Binder
(Also removes DiagArg
, as it's no longer necessary)
2023-04-04 18:50:07 +03:00
IQuant
fd18d9a584
Renamed TypeErrorAdditionalDiags (was Error0308Subdiags) and ObligationCauseFailureCode (was FailureCodeDiagnostics)
2023-04-04 18:50:07 +03:00
IQuant
aa33a6fca2
Move and document escape_literal function
2023-04-04 18:50:07 +03:00
IQuant
e813b6d6e1
Update compiler/rustc_infer/src/infer/error_reporting/suggest.rs
...
Co-authored-by: David Wood <agile.lion3441@fuligin.ink>
2023-04-04 18:50:07 +03:00
IQuant
1f09bc77c1
Migrate (most of) report_and_explain_type_error
2023-04-04 18:50:02 +03:00
IQuant
ab11b4389e
FailureCode::Error0038 is unreachable, so can be removed
2023-04-04 18:34:50 +03:00
IQuant
b610ce72ce
Migrate TupleTrailingCommaSuggestion
2023-04-04 18:34:50 +03:00
IQuant
d18adb7d56
Migrate SuggestTuplePattern
2023-04-04 18:34:50 +03:00
IQuant
23b8567a78
Migrate SuggestBoxingForReturnImplTrait, Fix typo in infer_fn_consider_casting
2023-04-04 18:34:50 +03:00
IQuant
d56b304bc8
Migrate SuggestAccessingField
2023-04-04 18:34:50 +03:00
IQuant
b36abea285
Migrate SuggestAsRefWhereAppropriate
2023-04-04 18:34:50 +03:00
IQuant
37f55691f4
Ported FunctionPointerSuggestion
2023-04-04 18:34:50 +03:00
Michael Goulet
a368316905
Remove intercrate and mark_ambiguous from Relation
2023-04-04 00:09:12 +00:00
Scott McMurray
5c3e5af2ed
Doc-comment IndexVec::from_elem
and use it in a few more places
2023-04-03 14:29:32 -07:00
Scott McMurray
a2ee7592d6
Use &IndexSlice
instead of &IndexVec
where possible
...
All the same reasons as for `[T]`: more general, less pointer chasing, and `&mut IndexSlice` emphasizes that it doesn't change *length*.
2023-04-02 17:35:37 -07:00
Nilstrieb
59f394bf86
Rollup merge of #109846 - matthiaskrgr:clippy2023_04_III, r=Nilstrieb
...
more clippy::complexity fixes (iter_kv_map, map_flatten, nonminimal_bool)
2023-04-02 10:08:35 +02:00
Matthias Krüger
ac229c2819
fix clippy::iter_kv_map
2023-04-01 23:44:16 +02:00
Matthias Krüger
8ef3bf29fe
a couple clippy::complexity fixes
...
map_identity
filter_next
option_as_ref_deref
unnecessary_find_map
redundant_slicing
unnecessary_unwrap
bool_comparison
derivable_impls
manual_flatten
needless_borrowed_reference
2023-04-01 23:16:33 +02:00
bors
fadf164d8d
Auto merge of #109165 - aliemjay:fix-ice-annotation, r=davidtwco
...
allow ReError in CanonicalUserTypeAnnotation
Why not? we already allow `TyKind::Error`.
Fixes #109072 .
2023-03-31 23:15:52 +00:00
Ali MJ Al-Nasrawy
a42cbdb165
allow ReError in CanonicalUserTypeAnnotation
2023-03-31 14:53:42 +00:00