-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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: Join impl for OsStr insufficiently generic #99683
Comments
It would be nice if the |
We discussed this in today's @rust-lang/libs-api meeting, and we'd be in favor of trying to generalize the We'd need to make sure that didn't cause widespread inference breakage. |
We discussed this in the libs-api team meeting today1 and our preliminary consensus was that this is acceptable breakage, though I'm going to run a poll to confirm this because we did this weeks meeting async so I'm not sure everyone who wanted to participate in that discussion has done so already. @rfcbot poll libs-api Is this breakage acceptable? Also, we're interested in trying out the suggestion to expand the impl and see if we run into any overlap or inference breakage issues. Last but not least, I'm curious if anyone knows why the existing bound was chosen to be edit: race condition Footnotes |
Team member @yaahc has asked teams: T-libs-api, for consensus on:
|
cc @est31 |
Oh this caused some breakage, I'm sorry. I guess it's legal breakage as per policy, and only one broken crate is not that bad. Still I'm not as happy now as I was when my PR got merged :).
I just copy pasted one of the existing implementations and then modified it, think it was the one for
So I guess the reason why the other impls use |
Coherence issues, probably worth reinvestigating to see exactly what the issue was. |
Based off of #25162 (comment), the underlying reason is the ambiguity of For |
I wonder if having something like generic type parameter defaults would let us have our cake and eat it too in this case. I'm not familiar enough with the |
Retagging as a stable/stable regression in anticipation that this will slip into 1.63, and likely not be fixed for a good while. |
Closing this as acceptable. |
In https://crater-reports.s3.amazonaws.com/beta-1.63-2/beta-2022-07-16/reg/belong-0.1.0/log.txt, the code is using a custom Join trait (https://github.com/rossmacarthur/belong/blob/master/src/util.rs#L61) with a different signature from the impl added in #96881 (taking
AsRef<OsStr>
rather than &OsStr, I think). The std impl is preferred sinceslice::join
is inherent, so we break this code.This is the only case found in Crater, so probably acceptable breakage, though we might want to consider expanding our impl (not sure if it'll overlap with something).
The text was updated successfully, but these errors were encountered: