rust/tests/ui/rfcs
bors da1d099f91 Auto merge of #112945 - compiler-errors:tighten-span-of-adjustment-error, r=oli-obk
(re-)tighten sourceinfo span of adjustments in MIR

Diagnostics rely on the spans of MIR statements being (approximately) correct in order to give suggestions relative to that span (i.e. `shrink_to_hi` and `shrink_to_lo`).

I discovered that we're *intentionally* lowering THIR exprs with their parent expr's span if they come from adjustments that are due to a parent expression. While I understand why that may be desirable to demonstrate the relationship of an adjustment and the expression that requires it, it leads to

1. very verbose borrowck output
2. incorrect spans for suggestions

Some diagnostics get around that by giving suggestions relative to other spans we've collected during MIR lowering, such as the span of the method's identifier (e.g. `name` in `.name()`), but this doesn't work too well when things come from desugaring.

I assume it also has lead to numerous tweaks and complications to diagnostics code down the road, which this PR doesn't necessarily aim to fix but may open the gates to fixing later... The last three commits are simplifications due to the fact that we can assume that the move span actually points to what is being moved (and a test).

This regressed in #89110, which was debated somewhat in #90286. cc `@Aaron1011` who originally made this change.

r? diagnostics

Fixes #113547
Fixes #111016
2023-07-12 12:11:09 +00:00
..
rfc-0107-bind-by-move-pattern-guards Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1014-stdout-existential-crisis Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1445-restrict-constants-in-patterns Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1623-static Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1717-dllimport Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1789-as-cell Move /src/test to /tests 2023-01-11 09:32:08 +00:00
rfc-1857-stabilize-drop-order Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1937-termination-trait Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rfc-2005-default-binding-mode Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
rfc-2008-non-exhaustive Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2027-object-safe-for-dispatch Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2091-track-caller Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2093-infer-outlives Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2126-crate-paths Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2126-extern-absolute-paths Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2151-raw-identifiers Move /src/test to /tests 2023-01-11 09:32:08 +00:00
rfc-2175-or-if-while-let Move /src/test to /tests 2023-01-11 09:32:08 +00:00
rfc-2294-if-let-guard Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2302-self-struct-ctor Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2306-convert-id Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2361-dbg-macro Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2396-target_feature-11 Forbid the use of #[target_feature] on start 2023-03-12 14:57:38 +01:00
rfc-2397-do-not-recommend Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2421-unreserve-pure-offsetof-sizeof-alignof Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2457-non-ascii-idents Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2497-if-let-chains Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2528-type-changing-struct-update Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
rfc-2565-param-attrs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
rfc-2627-raw-dylib Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2632-const-trait-impl add test 2023-07-04 11:47:46 +00:00
rfc-3348-c-string-literals Add regression test 2023-07-05 13:45:12 +02:00