Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upRemove variances from traits and deprecate `PhantomFn`/`MarkerTrait` #23938
Conversation
rust-highfive
assigned
pnkfelix
Apr 1, 2015
This comment has been minimized.
This comment has been minimized.
|
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 |
This comment has been minimized.
This comment has been minimized.
nikomatsakis
force-pushed the
nikomatsakis:invariant
branch
from
d580d1b
to
e24f968
Apr 1, 2015
This comment has been minimized.
This comment has been minimized.
Manishearth
added a commit
to Manishearth/rust
that referenced
this pull request
Apr 1, 2015
This was referenced Apr 1, 2015
bors
added a commit
that referenced
this pull request
Apr 1, 2015
bors
added a commit
that referenced
this pull request
Apr 1, 2015
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this pull request
Apr 1, 2015
This comment has been minimized.
This comment has been minimized.
|
Update: @alexcrichton encountered some errors combining this PR with the |
This comment has been minimized.
This comment has been minimized.
|
I have to look more deeply, but perhaps that suggests variance on traits is more useful than originally anticipated -- particularly around lifetime parameters. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
|
nikomatsakis
force-pushed the
nikomatsakis:invariant
branch
from
e24f968
Apr 2, 2015
This comment has been minimized.
This comment has been minimized.
|
OK, I rebased and fixed the bad interaction. |
This comment has been minimized.
This comment has been minimized.
|
Feeling a wee bit undecided about whether to take this patch, though I still lean in favor. |
nikomatsakis
added some commits
Mar 31, 2015
nikomatsakis
force-pushed the
nikomatsakis:invariant
branch
to
c2dba85
Apr 2, 2015
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Decided to go through with this. |
This comment has been minimized.
This comment has been minimized.
|
Basic explanation of reasoning:
This adds up to: better to address trait variance more comprehensively in future and make |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Apr 2, 2015
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
@bors: retry On Thu, Apr 2, 2015 at 3:31 PM, bors notifications@github.com wrote:
|
This comment has been minimized.
This comment has been minimized.
|
@bors p=1 giving high priority because this is a backwards compat thing |
bors
added a commit
that referenced
this pull request
Apr 3, 2015
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
|
@bors force |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Apr 3, 2015
This comment has been minimized.
This comment has been minimized.
|
(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.) |
nikomatsakis commentedApr 1, 2015
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)