- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
std: Stabilize the prelude module #20157
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
          
     Merged
      
      
    
                
     Merged
            
            
          Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    | r? @aturon (rust_highfive has picked a reviewer for you, use r? to override) | 
4ed66d1    to
    0b8e465      
    Compare
  
    | cc @steveklabnik, you may be particularly interested in the guide changes here. | 
0b8e465    to
    4064b41      
    Compare
  
    | Yes, let me send a PR. | 
ee64d2c    to
    38f5bee      
    Compare
  
    
      
     Closed
  
| 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. | 
38f5bee    to
    9a9fe1c      
    Compare
  
    9a9fe1c    to
    e358312      
    Compare
  
    3b4f94a    to
    0999df7      
    Compare
  
    0999df7    to
    1582a59      
    Compare
  
    1582a59    to
    ae9dd30      
    Compare
  
    ae9dd30    to
    5c626e3      
    Compare
  
    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
5c626e3    to
    76e3bc2      
    Compare
  
    
    
  alexcrichton 
      added a commit
        to alexcrichton/rust
      that referenced
      this pull request
    
      Jan 2, 2015 
    
    
  
    
  lnicola 
      pushed a commit
        to lnicola/rust
      that referenced
      this pull request
    
      Jul 7, 2025 
    
    
      
  
    
      
    
  
Re-enable fixpoint iteration for variance computation
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
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:
rangeremains until range syntax has landed to reduce churn.PathandGenericPathremain until path reform lands. This is done toprevent many imports of
GenericPathwhich will soon be removed.iotraits remain until I/O reform lands so imports can be rewritten allat 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