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 all unstable deprecated functionality #27684
Conversation
rust-highfive
assigned
Aatch
Aug 12, 2015
This comment has been minimized.
This comment has been minimized.
|
r? @Aatch (rust_highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
|
r? @aturon A huge amount of stuff ended up getting removed here, and I believe I avoided all stable deprecated items, but a second set of eyes would certainly be useful! |
rust-highfive
assigned
aturon
and unassigned
Aatch
Aug 12, 2015
alexcrichton
force-pushed the
alexcrichton:remove-deprecated
branch
2 times, most recently
from
30bdf5b
to
ea5e082
Aug 12, 2015
This comment has been minimized.
This comment has been minimized.
|
|
alexcrichton
force-pushed the
alexcrichton:remove-deprecated
branch
from
ea5e082
to
58b2a2d
Aug 12, 2015
This comment has been minimized.
This comment has been minimized.
|
fwiw, looks good to me. I caught the deprecation of reverse_in_place here, and it says not performant enough to justify inclusion, deprecated in c14d86f. Is this something that has been a problem? We could probably improve it instead (codegen for match on tuple is known to be inferior). |
This comment has been minimized.
This comment has been minimized.
|
|
alexcrichton
force-pushed the
alexcrichton:remove-deprecated
branch
from
58b2a2d
to
aa2fc27
Aug 12, 2015
alexcrichton
force-pushed the
alexcrichton:remove-deprecated
branch
from
aa2fc27
to
8d90d3f
Aug 12, 2015
This comment has been minimized.
This comment has been minimized.
|
OK, I've read over this entire PR. As usual, very satisfying. My one worry: some of the removals are APIs that were deprecated in 1.3 (currently in beta), whose replacements were also introduced in 1.3. That risks introducing a strong split between the nightly and stable ecosystems. In general, we want for deprecations to only take effect once a stable release providing their replacement is available -- and the same is even more true for removals. When we haven't done this, e.g. with I'm not sure whether this is a blocker; I feel like we don't have a ton of experience to go from here. Thoughts? |
This comment has been minimized.
This comment has been minimized.
|
Yeah that's a good point. I like the idea of doing a regular cleaning right after releases are made, so it's probably good to have a formula for something like when we release 1.X we can remove all deprecated items from 1.Y and below (with some relation between X and Y). Perhaps when say that X == Y? e.g. we don't actually delete anything deprecated in 1.3? That should give a full cycle of deprecation on nightly before deletion I think. |
This comment has been minimized.
This comment has been minimized.
|
On Thu, Aug 13, 2015 at 9:10 AM, Alex Crichton notifications@github.com
|
This comment has been minimized.
This comment has been minimized.
How is this a problem? The APIs are unstable so they can't be used in beta/stable anyways so the ecosystem was already split. |
alexcrichton
referenced this pull request
Aug 13, 2015
Merged
Require issue annotations for #[unstable] features #27818
This comment has been minimized.
This comment has been minimized.
|
Er, after thinking about this some more:
I totally agree for stable APIs we want this, but it's not as clear to me that we want this same guarantee for unstable APIs. Once an unstable API is deprecated the second you see that is the second you have the replacement available to you. In that sense I don't think it's as pressing that we leave around unstable + deprecated APIs for a long time. It's certainly nice to still have a grace period as projects tracking nightly update every so often, but a 2-ish releases may be a bit much. |
This comment has been minimized.
This comment has been minimized.
|
Oy, yes, as @Stebalien points out I slipped into making a point about stable APIs; for unstable APIs, this is just fine. @bors: r+ |
This comment has been minimized.
This comment has been minimized.
|
|
alexcrichton commentedAug 12, 2015
This commit removes all unstable and deprecated functions in the standard
library. A release was recently cut (1.3) which makes this a good time for some
spring cleaning of the deprecated functions.