Skip to content
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

std: Stabilize the prelude module #20157

Merged
merged 2 commits into from
Jan 2, 2015
Merged

Conversation

alexcrichton
Copy link
Member

This commit is an implementation of RFC 503 which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

  • range remains until range syntax has landed to reduce churn.
  • Path and GenericPath remain until path reform lands. This is done to
    prevent many imports of GenericPath which will soon be removed.
  • All io traits remain until I/O reform lands so imports can be rewritten all
    at once to std::io::prelude::*.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[breaking-change]

Closes #20068

@rust-highfive
Copy link
Collaborator

r? @aturon

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton
Copy link
Member Author

cc @steveklabnik, you may be particularly interested in the guide changes here.

@steveklabnik
Copy link
Member

Yes, let me send a PR.

@alexcrichton alexcrichton force-pushed the issue-20068 branch 2 times, most recently from ee64d2c to 38f5bee Compare December 23, 2014 19:23
@alexcrichton alexcrichton mentioned this pull request Dec 23, 2014
@aturon
Copy link
Member

aturon commented Dec 27, 2014

I've checked that the new prelude conforms to the RFC, and it LGTM. (I didn't bother looking at the 300+ files worth of new imports...) r=me after a rebase.

This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
  prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
  at once to `std::io::prelude::*`.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]

Closes rust-lang#20068
Now that it's been removed from the prelude, we need to treat things differently.

Fixes rust-lang#17967
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jan 2, 2015
@bors bors merged commit 76e3bc2 into rust-lang:master Jan 2, 2015
@alexcrichton alexcrichton deleted the issue-20068 branch January 20, 2015 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tracking issue for prelude stabilization (RFC 503)
5 participants