-
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
Remove variances from traits and deprecate PhantomFn
/MarkerTrait
#23938
Conversation
anyway I'm still going to approve the PR (update: there was once a note on a commit above about the deprecation strategy and whether we would be restricted from "undeprecating" these traits in the future. But I eventually realized that there is a fundamental difference between an item marked both |
@bors r+ d580d1b |
@bors r=pnkfelix e24f968 |
Update: @alexcrichton encountered some errors combining this PR with the |
I have to look more deeply, but perhaps that suggests variance on traits is more useful than originally anticipated -- particularly around lifetime parameters. |
☔ The latest upstream changes (presumably #23955) made this pull request unmergeable. Please resolve the merge conflicts. |
OK, I rebased and fixed the bad interaction. |
Feeling a wee bit undecided about whether to take this patch, though I still lean in favor. |
comments and also leave the entries in the variance tables for now.
Decided to go through with this. |
Basic explanation of reasoning:
This adds up to: better to address trait variance more comprehensively in future and make |
⌛ Testing commit c2dba85 with merge a167956... |
💔 Test failed - auto-linux-64-nopt-t |
@bors: retry On Thu, Apr 2, 2015 at 3:31 PM, bors [email protected] wrote:
|
@bors p=1 giving high priority because this is a backwards compat thing |
⌛ Testing commit c2dba85 with merge c14eb7c... |
💔 Test failed - auto-mac-64-nopt-t |
@bors retry |
@bors force |
(I forced the retry in the hopes that the build products from the previous attempt would still be usable, but perhaps I was incorrect about that, since I think normally bors writes some notes here when it has discovered it can reuse build products from a previous attempt.) |
There are still some remnants we could remove from the compiler (e.g. references to "subtraitrefs"; traits still have variance entries in the variance table), but this removes all user-visible bits I believe.
r? @pnkfelix
Fixes #22806 (since such traits would no longer exist)