-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 between #[fundamental]
generic type and FnPtr
#124449
Comments
It's likely due to 66d7cfd. This isn't probably worth tracking as a regression since fundamental should probably be marked an internal feature, since the semantics of |
fwiw nightly-to-nightly is considered a regression usually, you just were indeed using what I am... pretty sure was always intended to be a perma-unstable API? |
Regardless of stability, I'm under the impression that the old behavior is desirable and recoverable (such as by ignoring conflict implementations of Maybe someone knows why the same issue doesn't affect |
Oh, right; because of negative coherence. We have an implicit @finnbear: You can add |
Thanks very much, I think this solves my problem (cannot be 100% yet since still dealing with new ICE's). Closing as there is less motivation to restore the old behavior now that a workaround exists. |
Code
I was changing rust nightly versions while having code like this:
I expected to see this happen: It compiles
Instead, this happened:
Versions (cargo bisect-rustc)
Upon investigating all 12 commits, my best guess is that #112875 introduced this regression, hence mentioning @compiler-errors. My reading of that issue does not lead me to believe this chance was intentional, hence a 'regression', unless the term 'regression' isn't applicable to nightly-to-nightly.
Ideas
Perhaps
downstream crates may implement trait std::marker::FnPtr for type Foo<_>
should be ignored, sinceimpl FnPtr
is disallowed?Workarounds?
The workaround of
impl <T> !FnPtr Foo<T> {}
doesn't work sinceimpl FnPtr
isn't allowed.Making
Foo
concrete avoids the compile error, but my code requires the type parameter.Thanks for looking into this!
@rustbot modify labels: +regression-from-nightly-to-nightly -regression-untriaged
The text was updated successfully, but these errors were encountered: