Michael Goulet
d2ec957680
Stop using PolyTraitRef for closure/coroutine predicates already instantiated w placeholders
2024-04-15 10:32:21 -04:00
Oli Scherer
2f2350e577
Eliminate DefiningAnchor now that is just a single-variant enum
2024-04-08 15:00:27 +00:00
Oli Scherer
19bd91d128
Pass list of defineable opaque types into canonical queries
2024-04-08 15:00:26 +00:00
Zalathar
2d47cd77ac
Check x86_64 size assertions on aarch64, too
...
This makes it easier for contributors on aarch64 workstations (e.g. Macs) to
notice when these assertions have been violated.
2024-04-03 16:53:03 +11:00
Michael Goulet
2fe936f17d
Stop doing expensive work in opt_suggest_box_span eagerly
2024-03-27 10:08:14 -04:00
lcnr
24a1729566
eagerly instantiate binders to avoid relying on sub
2024-03-14 17:19:40 +01:00
Oli Scherer
7348dd1950
Eliminate DefiningAnchor::Error, it is indistinguishable from DefiningAnchor::Bind with an empty list
2024-03-11 17:19:37 +00:00
Oli Scherer
40d5609548
Make DefiningAnchor::Bind only store the opaque types that may be constrained, instead of the current infcx root item.
...
This makes `Bind` almost always be empty, so we can start forwarding it to queries, allowing us to remove `Bubble` entirely
2024-03-11 17:19:37 +00:00
Nicholas Nethercote
899cb40809
Rename DiagnosticBuilder as Diag.
...
Much better!
Note that this involves renaming (and updating the value of)
`DIAGNOSTIC_BUILDER` in clippy.
2024-02-28 08:55:35 +11:00
Nicholas Nethercote
b18f3e11fa
Prefer DiagnosticBuilder over Diagnostic in diagnostic modifiers.
...
There are lots of functions that modify a diagnostic. This can be via a
`&mut Diagnostic` or a `&mut DiagnosticBuilder`, because the latter type
wraps the former and impls `DerefMut`.
This commit converts all the `&mut Diagnostic` occurrences to `&mut
DiagnosticBuilder`. This is a step towards greatly simplifying
`Diagnostic`. Some of the relevant function are made generic, because
they deal with both errors and warnings. No function bodies are changed,
because all the modifier methods are available on both `Diagnostic` and
`DiagnosticBuilder`.
2024-02-19 20:23:20 +11:00
Michael Goulet
6018e21d8a
Remove a suggestion that is redundant
2024-02-15 17:20:44 +00:00
Michael Goulet
c763f833d1
Only point out non-diverging arms for match suggestions
2024-02-15 15:44:46 +00:00
Shoyu Vanilla
3856df059e
Dejargnonize subst
2024-02-12 15:46:35 +09:00
Esteban Küber
a9841936fe
Deduplicate more sized errors on call exprs
...
Change the implicit `Sized` `Obligation` `Span` for call expressions to
include the whole expression. This aids the existing deduplication
machinery to reduce the number of errors caused by a single unsized
expression.
2024-01-24 02:53:15 +00:00
Matthias Krüger
1e46be6a53
Rollup merge of #119897 - compiler-errors:fulfillment-errors, r=lcnr
...
`OutputTypeParameterMismatch` -> `SignatureMismatch`
I'm probably missing something that made this rename more complicated. What did you end up getting stuck on when renaming this selection error, `@lcnr?`
**also** I renamed the `FulfillmentErrorCode` variants. This is just churn but I wanted to do it forever. I can move it out of this PR if desired.
r? lcnr
2024-01-15 08:44:48 +01:00
Michael Goulet
322694ed56
Remove unused ErrorReporting variant from overflow handling
2024-01-12 17:00:32 +00:00
Michael Goulet
fbdc116e6e
OutputTypeParameterMismatch -> SignatureMismatch
2024-01-12 16:34:39 +00:00
Esteban Küber
79bef72fd5
Track HirId instead of Span in ObligationCauseCode::SizedArgumentType
...
This gets us more accurate suggestions.
2024-01-03 18:59:42 +00:00
bors
2df6406b88
Auto merge of #118431 - sjwang05:issue-44695, r=estebank
...
Emit better suggestions for `&T == T` and `T == &T`
Fixes #40660
Fixes #44695
2023-12-26 21:34:24 +00:00
jyn
b5d8361909
rename to verbose-internals
2023-12-19 13:35:37 -05:00
sjwang05
2618e0f805
Provide better suggestions for T == &T and &T == T
2023-12-16 19:56:50 -08:00
bors
6eb9524047
Auto merge of #117200 - rmehri01:repeated_help, r=WaffleLapkin
...
Don't add redundant help for object safety violations
Fixes #117186
r? WaffleLapkin
2023-11-27 19:37:35 +00:00
Ryan Mehri
af6b84aaab
don't add redundant help for object safety violations
2023-11-26 09:53:58 -08:00
Michael Goulet
ca56739366
Remove 3 more unused ObligationCauseCodes
2023-11-25 22:10:52 +00:00
Michael Goulet
3e769c55b8
Remove some more unused codepaths in (region) error reporting
2023-11-25 22:10:38 +00:00
Michael Goulet
54ee79b3b8
Remove unused ObligationCauseCode::ProjectionWf
2023-11-25 22:10:37 +00:00
Michael Goulet
fa7633dda1
Remove HirId from QPath::LangItem
2023-11-25 18:02:11 +00:00
bors
ed10a53025
Auto merge of #118152 - matthiaskrgr:rollup-bqcck4w, r=matthiaskrgr
...
Rollup of 5 pull requests
Successful merges:
- #117972 (Add VarDebugInfo to Stable MIR)
- #118109 (rustdoc-search: simplify `checkPath` and `sortResults`)
- #118110 (Document `DefiningAnchor` a bit more)
- #118112 (Don't ICE when ambiguity is found when selecting `Index` implementation in typeck)
- #118135 (Remove quotation from filename in stable_mir)
Failed merges:
- #118012 (Add support for global allocation in smir)
r? `@ghost`
`@rustbot` modify labels: rollup
2023-11-22 00:30:56 +00:00
Nilstrieb
21a870515b
Fix clippy::needless_borrow in the compiler
...
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.
Then I had to remove a few unnecessary parens and muts that were exposed
now.
2023-11-21 20:13:40 +01:00
Michael Goulet
0000b35288
Document DefiningAnchor a bit more
2023-11-20 21:47:49 +00:00
Matthias Krüger
b724d9c90e
Rollup merge of #113925 - clubby789:const-ctor-repeat, r=estebank
...
Improve diagnostic for const ctors in array repeat expressions
Fixes #113912
2023-11-08 00:47:50 +01:00
Matthias Krüger
05e154fdb7
Rollup merge of #106601 - estebank:match-semi, r=cjgillot
...
Suggest `;` after bare `match` expression E0308
Fix #72634 .
2023-10-21 13:58:33 +02:00
Oli Scherer
e96ce20b34
s/generator/coroutine/
2023-10-20 21:14:01 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
Esteban Küber
a53f280bfc
Suggest ; after bare match expression E0308
...
Fix #72634 .
2023-10-11 18:51:56 +00:00
Michael Goulet
79d685325c
Check types live across yields in generators too
2023-09-23 04:19:14 +00:00
Michael Goulet
c21867f9f6
Check that closure's by-value captures are sized
2023-09-23 04:19:14 +00:00
Eduardo Sánchez Muñoz
c599761140
rustc_hir_analysis: add a helper to check function the signature mismatches
...
This function is now used to check `#[panic_handler]`, `start` lang item, `main`, `#[start]` and intrinsic functions.
The diagnosis produced are now closer to the ones produced by trait/impl method signature mismatch.
2023-09-19 18:15:23 +02:00
Nicholas Nethercote
abe2a68acd
Remove more unused Lift impls.
2023-09-18 09:37:10 +10:00
Nicholas Nethercote
af7d3e501b
Remove unused Lift derives.
...
I found these by commenting out all `Lift` derives and then adding back
the ones that were necessary to successfully compile.
2023-09-18 09:37:10 +10:00
Esteban Küber
5021dde1a0
Move scrutinee HirId into MatchSource::TryDesugar
2023-08-14 21:43:56 +00:00
Esteban Küber
55f8c66a60
Point at return type when it influences non-first match arm
...
When encountering code like
```rust
fn foo() -> i32 {
match 0 {
1 => return 0,
2 => "",
_ => 1,
}
}
```
Point at the return type and not at the prior arm, as that arm has type
`!` which isn't influencing the arm corresponding to arm `2`.
Fix #78124 .
2023-08-14 21:43:56 +00:00
Deadbeef
f441fa08da
Remove constness from ImplSource::Param
2023-08-14 02:17:30 +00:00
Matthias Krüger
23815467a2
inline format!() args up to and including rustc_middle
2023-07-30 13:18:33 +02:00
Michael Goulet
a7ed9c1da7
Make everything builtin!
2023-07-25 16:08:58 +00:00
Michael Goulet
c02d1a6553
Restore tuple unsizing feature gate
2023-07-25 15:15:25 +00:00
clubby789
86b112204a
Improve diagnostic for const ctors in array repeat expressions
2023-07-24 20:28:35 +00:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Oli Scherer
9e98feb84c
Add some extra information to opaque type cycle errors
2023-07-05 07:43:35 +00:00
Michael Goulet
810fbf086d
Remove chalk from the compiler
2023-07-03 21:40:04 +00:00