Skip to content
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

regression: conflicting implementations of trait Visitable for type Box<_> #127341

Closed
Mark-Simulacrum opened this issue Jul 4, 2024 · 6 comments
Labels
T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-types Relevant to the types team, which will review and decide on the PR/issue.
Milestone

Comments

@Mark-Simulacrum
Copy link
Member

Mark-Simulacrum commented Jul 4, 2024

Not entirely clear if this is caused by a new impl in std or trait solver changes.

[INFO] [stdout] error[E0119]: conflicting implementations of trait `Visitable` for type `Box<_>`
[INFO] [stdout]   --> src/std_impls.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / impl<C: 'static> Visitable for C
[INFO] [stdout] 26 | | where
[INFO] [stdout] 27 | |     for<'a> &'a C: IntoIterator,
[INFO] [stdout] 28 | |     for<'a> <&'a C as IntoIterator>::Item: AsVisitable<'a>,
[INFO] [stdout]    | |___________________________________________________________- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 49 |   impl<T: Visitable> Visitable for Box<T> {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: downstream crates may implement trait `std_impls::AsVisitable<'a>` for type `<&'a std::boxed::Box<_> as std::iter::IntoIterator>::Item`
@Mark-Simulacrum Mark-Simulacrum added T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Jul 4, 2024
@Mark-Simulacrum Mark-Simulacrum added this to the 1.80.0 milestone Jul 4, 2024
@rustbot rustbot added I-prioritize Issue: Indicates that prioritization has been requested for this issue. needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Jul 4, 2024
@saethlin saethlin added T-types Relevant to the types team, which will review and decide on the PR/issue. and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Jul 4, 2024
@compiler-errors
Copy link
Member

Bisected derive-visitor example, since that crate has come up a few times. This bisected to #117164 (comment) cc @lcnr @fmease, though that particular crate didn't get mentioned in the stabilization report.

@apiraino
Copy link
Contributor

apiraino commented Jul 5, 2024

Labelling also this as P-high for now (Zulip discussion).

@rustbot label -I-prioritize +P-high

@rustbot rustbot added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Jul 5, 2024
@lcnr
Copy link
Contributor

lcnr commented Jul 5, 2024

all of these look like #114061 to me, I consider this to be intended breakage.

@apiraino
Copy link
Contributor

apiraino commented Jul 5, 2024

all of these look like #114061 to me, I consider this to be intended breakage.

ok then I think it makes sense to add relnotes on #117164

thanks @lcnr :)

@Amanieu Amanieu removed the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Jul 10, 2024
@apiraino
Copy link
Contributor

removing regression label to avoid having this popup in my searches for regressions

@rustbot label -regression-from-stable-to-beta

@rustbot rustbot removed the regression-from-stable-to-beta Performance or correctness regression from stable to beta. label Jul 11, 2024
@apiraino apiraino removed the P-high High priority label Jul 11, 2024
@lcnr
Copy link
Contributor

lcnr commented Jul 11, 2024

I guess we should close this as intended then.

@lcnr lcnr closed this as completed Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-types Relevant to the types team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants