Skip to content

Only emit one error per unsized binding, instead of one per usage - #113183

Merged
bors merged 4 commits into
rust-lang:masterfrom
estebank:redundant-sized-errors
Oct 27, 2023
Merged

Only emit one error per unsized binding, instead of one per usage#113183
bors merged 4 commits into
rust-lang:masterfrom
estebank:redundant-sized-errors

Conversation

@estebank

Copy link
Copy Markdown
Contributor

Fix#56607.

@rustbot

Copy link
Copy Markdown
Collaborator

r? @BoxyUwU

(rustbot has picked a reviewer for you, use r? to override)

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 30, 2023

@compiler-errorscompiler-errors left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is too fragile of a heuristic to be worth landing, and it introduces potential future headaches when queries interleave and for the parallel compiler. I'm not convinced this PR is worth landing 😓

clarifying edit: Specifically the dependency on self.tcx.sess.has_errors().is_some(), which is global state that I think we want to eventually remove, or at least track a lot more delicately.

&& let Some(Node::Pat(pat)) = self.tcx.hir().find(*hir_id)
&& let Some(preds) = self.reported_trait_errors.borrow().get(&pat.span)
&& preds.contains(&obligation.predicate)
&& self.tcx.sess.has_errors().is_some()

@compiler-errorscompiler-errorsJun 30, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to move forward with depending on less global state, rather than more? UI test instability due to global diagnostic state is one of the blockers for the parallel compiler, I think?

@estebankestebankJun 30, 2023

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that a few lines above (689, hidden by the patch view) we already have a has_errors check. When we come up with an alternative for that one, this one can also go away. In this case this is to ensure that we don't unnecessarily silence obligations that happen to be in reported_trait_errors without actually having been emitted (I found a couple of examples in the test suite).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@compiler-errors let me know if my rationale above is sufficient to land the PR as is, otherwise we can close this PR.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is tcx.sess.has_errors().is_some() required when we also check self.reported_trait_errors.borrow().get(&pat.span)?

@estebankestebankOct 9, 2023

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The following tests ICE without that check

[ui] tests/ui/derives/derives-span-Clone-enum-struct-variant.rs
[ui] tests/ui/derives/derives-span-Clone-enum.rs
[ui] tests/ui/derives/derives-span-Hash-enum-struct-variant.rs
[ui] tests/ui/derives/derives-span-PartialOrd-enum-struct-variant.rs
[ui] tests/ui/derives/derives-span-PartialOrd-enum.rs
[ui] tests/ui/derives/derives-span-Hash-enum.rs

I think because report_fulfillment_errors inserts all the error predicates found in the global reported_trait_errors, but it later has suppression logic that avoids emitting some diagnostics. I'm sure we could change that logic instead, but will make the PR larger.

Edit: actually the change ended up being much smaller (and the slight perf loss due to tiny amount of extra work only happens in the error path).

Comment threadcompiler/rustc_trait_selection/src/traits/error_reporting/mod.rs Outdated
@BoxyUwU

Copy link
Copy Markdown
Member

r? @compiler-errors

@compiler-errors

Copy link
Copy Markdown
Contributor

I am still a bit skeptical whether this is worthwhile given the limitations (only fn calls) and introducing more dependency on global state, but I'd rather not unilaterally make that call.

r? diagnostics

@estebank

Copy link
Copy Markdown
ContributorAuthor

given the limitations (only fn calls)

I focused on dealing with the reported case, but would hope to extend this to more ObligationCauseCode cases, within reason.

@apiraino

Copy link
Copy Markdown
Contributor

r? diagnostics

@rustbotrustbot assigned davidtwco and unassigned TaKO8KiAug 24, 2023
arg_hir_id,
..
} = obligation.cause.code()
&& let Some(Node::Expr(arg)) = self.tcx.hir().find(*arg_hir_id)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd like to see the stuff inside the if let here put into a function, just to keep report_selection_error a bit simpler.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@estebank does this comment needs to be addressed?

Apart from this I think this PR can be r+'ed by @davidtwco (as per comment)?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was already done

@davidtwcodavidtwco left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a useful improvement, particularly if extended to other reasonable obligation causes as @estebank has said is his intention.

I agree with the concerns about has_errors, but given that the function already uses has_errors only a few lines above the diff here, I don't think this addition makes removing has_errors or changing it materially more difficult - however the usage above is replaced, this usage can replaced the same way.

I've left a comment/reply or two, but I think I'm happy to r=me this after those are resolved.

@apiraino

Copy link
Copy Markdown
Contributor

@estebank by reading the last comment, I think the review switch was left unchanged, when I think this is actually waiting on you.

@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 5, 2023
@bors

This comment was marked as resolved.

@estebank
estebankforce-pushed the redundant-sized-errors branch from a6579e6 to 568b316CompareOctober 9, 2023 23:18
@estebank

Copy link
Copy Markdown
ContributorAuthor

I can confirm that handling other ObligationCauseCodes isn't necessary because Sized requirements on bindings is the only case where this particular issue crops up. I found a case where a type is defined as dyn Trait, which gets a predicate for dyn Trait + 'static in the definition, but on the use the predicate is for dyn Trait + '_, so the deduplication doesn't happen, but I feel like adding logic to check for it might be too convoluted (will try it out anyways).

@estebankestebank added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 10, 2023
@estebank

Copy link
Copy Markdown
ContributorAuthor

@bors r=davidtwco

@bors

bors commented Oct 26, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit 568b316 has been approved by davidtwco

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 26, 2023
@bors

bors commented Oct 27, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 568b316 with merge aa91057...

@bors

bors commented Oct 27, 2023

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: davidtwco
Pushing aa91057 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Oct 27, 2023
@bors
bors merged commit aa91057 into rust-lang:masterOct 27, 2023
@rustbotrustbot added this to the 1.75.0 milestone Oct 27, 2023
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (aa91057): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

meanrangecount
Regressions ❌
(primary)
1.5%[1.5%, 1.5%]1
Regressions ❌
(secondary)
2.4%[2.3%, 2.4%]3
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)1.5%[1.5%, 1.5%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 635.024s -> 636.976s (0.31%)
Artifact size: 304.50 MiB -> 304.49 MiB (-0.00%)

bors-ferroceneBot added a commit to ferrocene/ferrocene that referenced this pull request Oct 31, 2023
74: Automated pull from upstream `master` r=tshepang a=github-actions[bot]
This PR pulls the following changes from the upstream repository:
* rust-lang/rust#117363
* rust-lang/rust#116405
* rust-lang/rust#117415
* rust-lang/rust#117414
* rust-lang/rust#117411
* rust-lang/rust#117403
* rust-lang/rust#117398
* rust-lang/rust#117396
* rust-lang/rust#117389
* rust-lang/rust#116862
* rust-lang/rust#117405
* rust-lang/rust#117395
* rust-lang/rust#117390
* rust-lang/rust#117383
* rust-lang/rust#117376
* rust-lang/rust#117370
* rust-lang/rust#117357
* rust-lang/rust#117356
* rust-lang/rust#117317
* rust-lang/rust#117132
* rust-lang/rust#117068
* rust-lang/rust#112463
* rust-lang/rust#117267
* rust-lang/rust#116939
* rust-lang/rust#117387
* rust-lang/rust#117385
* rust-lang/rust#117382
* rust-lang/rust#117371
* rust-lang/rust#117365
* rust-lang/rust#117350
* rust-lang/rust#117205
* rust-lang/rust#117177
* rust-lang/rust#117147
* rust-lang/rust#116485
* rust-lang/rust#117328
* rust-lang/rust#117332
* rust-lang/rust#117089
* rust-lang/rust#116733
* rust-lang/rust#116889
* rust-lang/rust#116270
* rust-lang/rust#117354
* rust-lang/rust#117337
* rust-lang/rust#117312
* rust-lang/rust#117082
* rust-lang/rust#117043
* rust-lang/rust#115968
* rust-lang/rust#117336
* rust-lang/rust#117325
* rust-lang/rust#117322
* rust-lang/rust#117259
* rust-lang/rust#117170
* rust-lang/rust#117335
* rust-lang/rust#117319
* rust-lang/rust#117316
* rust-lang/rust#117311
* rust-lang/rust#117162
* rust-lang/rust#115773
* rust-lang/rust#116447
* rust-lang/rust#117149
* rust-lang/rust#116240
* rust-lang/rust#117123
* rust-lang/rust#81746
* rust-lang/rust#117038
* rust-lang/rust#116609
* rust-lang/rust#117309
* rust-lang/rust#117277
* rust-lang/rust#117268
* rust-lang/rust#117256
* rust-lang/rust#117025
* rust-lang/rust#116945
* rust-lang/rust#116816
* rust-lang/rust#116739
* rust-lang/rust#116534
* rust-lang/rust#117253
* rust-lang/rust#117302
* rust-lang/rust#117197
* rust-lang/rust#116471
* rust-lang/rust#117294
* rust-lang/rust#117287
* rust-lang/rust#117281
* rust-lang/rust#117270
* rust-lang/rust#117247
* rust-lang/rust#117246
* rust-lang/rust#117212
* rust-lang/rust#116834
* rust-lang/rust#103208
* rust-lang/rust#117166
* rust-lang/rust#116751
* rust-lang/rust#116858
* rust-lang/rust#117272
* rust-lang/rust#117266
* rust-lang/rust#117262
* rust-lang/rust#117241
* rust-lang/rust#117240
* rust-lang/rust#116868
* rust-lang/rust#114998
* rust-lang/rust#116205
* rust-lang/rust#117260
* rust-lang/rust#116035
* rust-lang/rust#113183
* rust-lang/rust#117249
* rust-lang/rust#117243
* rust-lang/rust#117188
* rust-lang/rust#117114
* rust-lang/rust#117106
* rust-lang/rust#117032
* rust-lang/rust#116968
* rust-lang/rust#116581
* rust-lang/rust#117228
* rust-lang/rust#117221
* rust-lang/rust#117214
* rust-lang/rust#117207
* rust-lang/rust#117202
* rust-lang/rust#117194
* rust-lang/rust#117143
* rust-lang/rust#117095
* rust-lang/rust#116905
* rust-lang/rust#117171
* rust-lang/rust#113262
* rust-lang/rust#112875
* rust-lang/rust#116983
* rust-lang/rust#117148
* rust-lang/rust#117115
* rust-lang/rust#116818
* rust-lang/rust#115872
* rust-lang/rust#117193
* rust-lang/rust#117175
* rust-lang/rust#117009
* rust-lang/rust#117008
* rust-lang/rust#116931
* rust-lang/rust#116553
* rust-lang/rust#116401
* rust-lang/rust#117180
* rust-lang/rust#117173
* rust-lang/rust#117163
* rust-lang/rust#117159
* rust-lang/rust#117154
* rust-lang/rust#117152
* rust-lang/rust#117141
* rust-lang/rust#117111
* rust-lang/rust#117172
* rust-lang/rust#117168
* rust-lang/rust#117160
* rust-lang/rust#117158
* rust-lang/rust#117150
* rust-lang/rust#117136
* rust-lang/rust#117133
* rust-lang/rust#116801
* rust-lang/rust#117165
* rust-lang/rust#117113
* rust-lang/rust#117102
* rust-lang/rust#117076
* rust-lang/rust#116236
* rust-lang/rust#116993
* rust-lang/rust#117139
* rust-lang/rust#116482
* rust-lang/rust#115796
* rust-lang/rust#117135
* rust-lang/rust#117127
* rust-lang/rust#117010
* rust-lang/rust#116943
* rust-lang/rust#116841
* rust-lang/rust#116792
* rust-lang/rust#116714
* rust-lang/rust#116396
* rust-lang/rust#116094
* rust-lang/rust#117126
* rust-lang/rust#117105
* rust-lang/rust#117093
* rust-lang/rust#117092
* rust-lang/rust#117091
* rust-lang/rust#117081
* rust-lang/rust#116773
* rust-lang/rust#117124
* rust-lang/rust#116461
* rust-lang/rust#116435
* rust-lang/rust#116319
* rust-lang/rust#116238
* rust-lang/rust#116998
* rust-lang/rust#116300
* rust-lang/rust#117103
* rust-lang/rust#117086
* rust-lang/rust#117074
* rust-lang/rust#117070
* rust-lang/rust#117046
* rust-lang/rust#116859
* rust-lang/rust#107159
* rust-lang/rust#116033
* rust-lang/rust#107009
* rust-lang/rust#117087
* rust-lang/rust#117073
* rust-lang/rust#117064
* rust-lang/rust#117040
* rust-lang/rust#116978
* rust-lang/rust#116960
* rust-lang/rust#116837
* rust-lang/rust#116835
* rust-lang/rust#116849
* rust-lang/rust#117071
* rust-lang/rust#117069
* rust-lang/rust#117051
* rust-lang/rust#117049
* rust-lang/rust#117044
* rust-lang/rust#117042
* rust-lang/rust#105666
* rust-lang/rust#116606
* rust-lang/rust#117066
* rust-lang/rust#115324
* rust-lang/rust#117062
* rust-lang/rust#117000
* rust-lang/rust#117007
* rust-lang/rust#117018
* rust-lang/rust#116256
* rust-lang/rust#117041
* rust-lang/rust#117037
* rust-lang/rust#117034
* rust-lang/rust#116989
* rust-lang/rust#116985
* rust-lang/rust#116950
* rust-lang/rust#116956
* rust-lang/rust#116932
* rust-lang/rust#117031
* rust-lang/rust#117030
* rust-lang/rust#117028
* rust-lang/rust#117026
* rust-lang/rust#116992
* rust-lang/rust#116981
* rust-lang/rust#116955
* rust-lang/rust#116928
* rust-lang/rust#116312
* rust-lang/rust#116368
* rust-lang/rust#116922
* rust-lang/rust#117021
* rust-lang/rust#117020
* rust-lang/rust#117019
* rust-lang/rust#116975
* rust-lang/rust#106601
* rust-lang/rust#116734
* rust-lang/rust#117013
* rust-lang/rust#116995
* rust-lang/rust#116990
* rust-lang/rust#116974
* rust-lang/rust#116964
* rust-lang/rust#116961
* rust-lang/rust#116917
* rust-lang/rust#116911
* rust-lang/rust#114521
* rust-lang/rust#117011
* rust-lang/rust#116958
* rust-lang/rust#116951
* rust-lang/rust#116966
* rust-lang/rust#116965
* rust-lang/rust#116962
* rust-lang/rust#116946
* rust-lang/rust#116899
* rust-lang/rust#116785
* rust-lang/rust#116838
* rust-lang/rust#116875
* rust-lang/rust#116874
* rust-lang/rust#115214
* rust-lang/rust#116810
* rust-lang/rust#116940
* rust-lang/rust#116921
* rust-lang/rust#116906
* rust-lang/rust#116896
* rust-lang/rust#116650
* rust-lang/rust#116132
* rust-lang/rust#116037
* rust-lang/rust#116923
* rust-lang/rust#116912
* rust-lang/rust#116908
* rust-lang/rust#116883
* rust-lang/rust#116829
* rust-lang/rust#116795
* rust-lang/rust#116761
* rust-lang/rust#116663
* rust-lang/rust#114534
* rust-lang/rust#116402
* rust-lang/rust#116493
* rust-lang/rust#116046
* rust-lang/rust#116887
* rust-lang/rust#116885
* rust-lang/rust#116879
* rust-lang/rust#116870
* rust-lang/rust#116865
* rust-lang/rust#116856
* rust-lang/rust#116812
* rust-lang/rust#116815
* rust-lang/rust#116814
* rust-lang/rust#116713
* rust-lang/rust#116830
Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
Co-authored-by: antoyo <antoyo@users.noreply.github.com>
Co-authored-by: Antoni Boucher <bouanto@zoho.com>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: Esteban Küber <esteban@kuber.com.ar>
Co-authored-by: Kjetil Kjeka <kjetilkjeka@gmail.com>
Co-authored-by: clubby789 <jamie@hill-daniel.co.uk>
Co-authored-by: okaneco <47607823+okaneco@users.noreply.github.com>
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Celina G. Val <celinval@amazon.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Co-authored-by: Havard Eidnes <he@NetBSD.org>
Co-authored-by: Jacob Pratt <jacob@jhpratt.dev>
Co-authored-by: Kjetil Kjeka <kjetil@muybridge.com>
bors-ferroceneBot added a commit to ferrocene/ferrocene that referenced this pull request Oct 31, 2023
74: Automated pull from upstream `master` r=tshepang a=github-actions[bot]
This PR pulls the following changes from the upstream repository:
* rust-lang/rust#117363
* rust-lang/rust#116405
* rust-lang/rust#117415
* rust-lang/rust#117414
* rust-lang/rust#117411
* rust-lang/rust#117403
* rust-lang/rust#117398
* rust-lang/rust#117396
* rust-lang/rust#117389
* rust-lang/rust#116862
* rust-lang/rust#117405
* rust-lang/rust#117395
* rust-lang/rust#117390
* rust-lang/rust#117383
* rust-lang/rust#117376
* rust-lang/rust#117370
* rust-lang/rust#117357
* rust-lang/rust#117356
* rust-lang/rust#117317
* rust-lang/rust#117132
* rust-lang/rust#117068
* rust-lang/rust#112463
* rust-lang/rust#117267
* rust-lang/rust#116939
* rust-lang/rust#117387
* rust-lang/rust#117385
* rust-lang/rust#117382
* rust-lang/rust#117371
* rust-lang/rust#117365
* rust-lang/rust#117350
* rust-lang/rust#117205
* rust-lang/rust#117177
* rust-lang/rust#117147
* rust-lang/rust#116485
* rust-lang/rust#117328
* rust-lang/rust#117332
* rust-lang/rust#117089
* rust-lang/rust#116733
* rust-lang/rust#116889
* rust-lang/rust#116270
* rust-lang/rust#117354
* rust-lang/rust#117337
* rust-lang/rust#117312
* rust-lang/rust#117082
* rust-lang/rust#117043
* rust-lang/rust#115968
* rust-lang/rust#117336
* rust-lang/rust#117325
* rust-lang/rust#117322
* rust-lang/rust#117259
* rust-lang/rust#117170
* rust-lang/rust#117335
* rust-lang/rust#117319
* rust-lang/rust#117316
* rust-lang/rust#117311
* rust-lang/rust#117162
* rust-lang/rust#115773
* rust-lang/rust#116447
* rust-lang/rust#117149
* rust-lang/rust#116240
* rust-lang/rust#117123
* rust-lang/rust#81746
* rust-lang/rust#117038
* rust-lang/rust#116609
* rust-lang/rust#117309
* rust-lang/rust#117277
* rust-lang/rust#117268
* rust-lang/rust#117256
* rust-lang/rust#117025
* rust-lang/rust#116945
* rust-lang/rust#116816
* rust-lang/rust#116739
* rust-lang/rust#116534
* rust-lang/rust#117253
* rust-lang/rust#117302
* rust-lang/rust#117197
* rust-lang/rust#116471
* rust-lang/rust#117294
* rust-lang/rust#117287
* rust-lang/rust#117281
* rust-lang/rust#117270
* rust-lang/rust#117247
* rust-lang/rust#117246
* rust-lang/rust#117212
* rust-lang/rust#116834
* rust-lang/rust#103208
* rust-lang/rust#117166
* rust-lang/rust#116751
* rust-lang/rust#116858
* rust-lang/rust#117272
* rust-lang/rust#117266
* rust-lang/rust#117262
* rust-lang/rust#117241
* rust-lang/rust#117240
* rust-lang/rust#116868
* rust-lang/rust#114998
* rust-lang/rust#116205
* rust-lang/rust#117260
* rust-lang/rust#116035
* rust-lang/rust#113183
* rust-lang/rust#117249
* rust-lang/rust#117243
* rust-lang/rust#117188
* rust-lang/rust#117114
* rust-lang/rust#117106
* rust-lang/rust#117032
* rust-lang/rust#116968
* rust-lang/rust#116581
* rust-lang/rust#117228
* rust-lang/rust#117221
* rust-lang/rust#117214
* rust-lang/rust#117207
* rust-lang/rust#117202
* rust-lang/rust#117194
* rust-lang/rust#117143
* rust-lang/rust#117095
* rust-lang/rust#116905
* rust-lang/rust#117171
* rust-lang/rust#113262
* rust-lang/rust#112875
* rust-lang/rust#116983
* rust-lang/rust#117148
* rust-lang/rust#117115
* rust-lang/rust#116818
* rust-lang/rust#115872
* rust-lang/rust#117193
* rust-lang/rust#117175
* rust-lang/rust#117009
* rust-lang/rust#117008
* rust-lang/rust#116931
* rust-lang/rust#116553
* rust-lang/rust#116401
* rust-lang/rust#117180
* rust-lang/rust#117173
* rust-lang/rust#117163
* rust-lang/rust#117159
* rust-lang/rust#117154
* rust-lang/rust#117152
* rust-lang/rust#117141
* rust-lang/rust#117111
* rust-lang/rust#117172
* rust-lang/rust#117168
* rust-lang/rust#117160
* rust-lang/rust#117158
* rust-lang/rust#117150
* rust-lang/rust#117136
* rust-lang/rust#117133
* rust-lang/rust#116801
* rust-lang/rust#117165
* rust-lang/rust#117113
* rust-lang/rust#117102
* rust-lang/rust#117076
* rust-lang/rust#116236
* rust-lang/rust#116993
* rust-lang/rust#117139
* rust-lang/rust#116482
* rust-lang/rust#115796
* rust-lang/rust#117135
* rust-lang/rust#117127
* rust-lang/rust#117010
* rust-lang/rust#116943
* rust-lang/rust#116841
* rust-lang/rust#116792
* rust-lang/rust#116714
* rust-lang/rust#116396
* rust-lang/rust#116094
* rust-lang/rust#117126
* rust-lang/rust#117105
* rust-lang/rust#117093
* rust-lang/rust#117092
* rust-lang/rust#117091
* rust-lang/rust#117081
* rust-lang/rust#116773
* rust-lang/rust#117124
* rust-lang/rust#116461
* rust-lang/rust#116435
* rust-lang/rust#116319
* rust-lang/rust#116238
* rust-lang/rust#116998
* rust-lang/rust#116300
* rust-lang/rust#117103
* rust-lang/rust#117086
* rust-lang/rust#117074
* rust-lang/rust#117070
* rust-lang/rust#117046
* rust-lang/rust#116859
* rust-lang/rust#107159
* rust-lang/rust#116033
* rust-lang/rust#107009
* rust-lang/rust#117087
* rust-lang/rust#117073
* rust-lang/rust#117064
* rust-lang/rust#117040
* rust-lang/rust#116978
* rust-lang/rust#116960
* rust-lang/rust#116837
* rust-lang/rust#116835
* rust-lang/rust#116849
* rust-lang/rust#117071
* rust-lang/rust#117069
* rust-lang/rust#117051
* rust-lang/rust#117049
* rust-lang/rust#117044
* rust-lang/rust#117042
* rust-lang/rust#105666
* rust-lang/rust#116606
* rust-lang/rust#117066
* rust-lang/rust#115324
* rust-lang/rust#117062
* rust-lang/rust#117000
* rust-lang/rust#117007
* rust-lang/rust#117018
* rust-lang/rust#116256
* rust-lang/rust#117041
* rust-lang/rust#117037
* rust-lang/rust#117034
* rust-lang/rust#116989
* rust-lang/rust#116985
* rust-lang/rust#116950
* rust-lang/rust#116956
* rust-lang/rust#116932
* rust-lang/rust#117031
* rust-lang/rust#117030
* rust-lang/rust#117028
* rust-lang/rust#117026
* rust-lang/rust#116992
* rust-lang/rust#116981
* rust-lang/rust#116955
* rust-lang/rust#116928
* rust-lang/rust#116312
* rust-lang/rust#116368
* rust-lang/rust#116922
* rust-lang/rust#117021
* rust-lang/rust#117020
* rust-lang/rust#117019
* rust-lang/rust#116975
* rust-lang/rust#106601
* rust-lang/rust#116734
* rust-lang/rust#117013
* rust-lang/rust#116995
* rust-lang/rust#116990
* rust-lang/rust#116974
* rust-lang/rust#116964
* rust-lang/rust#116961
* rust-lang/rust#116917
* rust-lang/rust#116911
* rust-lang/rust#114521
* rust-lang/rust#117011
* rust-lang/rust#116958
* rust-lang/rust#116951
* rust-lang/rust#116966
* rust-lang/rust#116965
* rust-lang/rust#116962
* rust-lang/rust#116946
* rust-lang/rust#116899
* rust-lang/rust#116785
* rust-lang/rust#116838
* rust-lang/rust#116875
* rust-lang/rust#116874
* rust-lang/rust#115214
* rust-lang/rust#116810
* rust-lang/rust#116940
* rust-lang/rust#116921
* rust-lang/rust#116906
* rust-lang/rust#116896
* rust-lang/rust#116650
* rust-lang/rust#116132
* rust-lang/rust#116037
* rust-lang/rust#116923
* rust-lang/rust#116912
* rust-lang/rust#116908
* rust-lang/rust#116883
* rust-lang/rust#116829
* rust-lang/rust#116795
* rust-lang/rust#116761
* rust-lang/rust#116663
* rust-lang/rust#114534
* rust-lang/rust#116402
* rust-lang/rust#116493
* rust-lang/rust#116046
* rust-lang/rust#116887
* rust-lang/rust#116885
* rust-lang/rust#116879
* rust-lang/rust#116870
* rust-lang/rust#116865
* rust-lang/rust#116856
* rust-lang/rust#116812
* rust-lang/rust#116815
* rust-lang/rust#116814
* rust-lang/rust#116713
* rust-lang/rust#116830
Co-authored-by: antoyo <antoyo@users.noreply.github.com>
Co-authored-by: Antoni Boucher <bouanto@zoho.com>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: Esteban Küber <esteban@kuber.com.ar>
Co-authored-by: Kjetil Kjeka <kjetilkjeka@gmail.com>
Co-authored-by: clubby789 <jamie@hill-daniel.co.uk>
Co-authored-by: okaneco <47607823+okaneco@users.noreply.github.com>
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Celina G. Val <celinval@amazon.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Co-authored-by: Havard Eidnes <he@NetBSD.org>
Co-authored-by: Jacob Pratt <jacob@jhpratt.dev>
Co-authored-by: Kjetil Kjeka <kjetil@muybridge.com>
Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
@estebank
estebank deleted the redundant-sized-errors branch November 9, 2023 05:13
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Only emit one error per unsized binding, instead of one per usage

9 participants

@estebank@rustbot@BoxyUwU@compiler-errors@apiraino@bors@rust-timer@davidtwco@TaKO8Ki