-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid calling report_forbidden_specialization for RPITITs #113456
Conversation
tests/ui/async-await/in-trait/missing-feature-flag.current.stderr
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me with one fix
@@ -722,7 +722,9 @@ pub(super) fn check_specialization_validity<'tcx>( | |||
let result = opt_result.unwrap_or(Ok(())); | |||
|
|||
if let Err(parent_impl) = result { | |||
report_forbidden_specialization(tcx, impl_item, parent_impl); | |||
if !tcx.is_impl_trait_in_trait(impl_item) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please delay a bug here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have delayed a bug, but please would rather if you check what I did what you meant and if the english wording is fine :).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just a bug so it's fine.
@@ -722,7 +722,9 @@ pub(super) fn check_specialization_validity<'tcx>( | |||
let result = opt_result.unwrap_or(Ok(())); | |||
|
|||
if let Err(parent_impl) = result { | |||
report_forbidden_specialization(tcx, impl_item, parent_impl); | |||
if !tcx.is_impl_trait_in_trait(impl_item) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added this to avoid calling report_forbidden_specialization
because all it does https://github.com/spastorino/rust/blob/518f84ba766d503cb709f753a0a498d87b942dd0/compiler/rustc_hir_analysis/src/check/mod.rs#L172-L182 is emit an error about an impl element that is not marked as default and that doesn't make any sense for a synthesized RPIT.
@compiler-errors would you prefer a code comment about this instead?
@bors r=compiler-errors rollup |
…er-errors Avoid calling report_forbidden_specialization for RPITITs Fixes rust-lang#113438 r? `@compiler-errors`
…mpiler-errors Rollup of 8 pull requests Successful merges: - rust-lang#113413 (Add needs-triage to all new issues) - rust-lang#113426 (Don't ICE in `resolve_bound_vars` when associated return-type bounds are in bad positions) - rust-lang#113427 (Remove `variances_of` on RPITIT GATs, remove its one use-case) - rust-lang#113441 (miri: check that assignments do not self-overlap) - rust-lang#113453 (Remove unused from_method from rustc_on_unimplemented) - rust-lang#113456 (Avoid calling report_forbidden_specialization for RPITITs) - rust-lang#113466 (Update cargo) - rust-lang#113467 (Fix comment of `fn_can_unwind`) r? `@ghost` `@rustbot` modify labels: rollup
Fixes #113438
r? @compiler-errors