- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
          Split core::slice to smaller mods
          #76311
        
          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
Conversation
e6f14b0    to
    c09dc3f      
    Compare
  
    | cc #60302 | 
c09dc3f    to
    5466e83      
    Compare
  
    | ☔ The latest upstream changes (presumably #75207) made this pull request unmergeable. Please resolve the merge conflicts. | 
5466e83    to
    4e00eed      
    Compare
  
    | Interesting, I didn't know about  | 
2d15cfe    to
    a485264      
    Compare
  
    | ☔ The latest upstream changes (presumably #76540) made this pull request unmergeable. Please resolve the merge conflicts. Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:  | 
a485264    to
    b4a46b9      
    Compare
  
    | Rebased. | 
| r? @lcnr | 
| ☔ The latest upstream changes (presumably #75021) made this pull request unmergeable. Please resolve the merge conflicts. Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:  | 
b4a46b9    to
    80727a1      
    Compare
  
    | Rebased. | 
| ☔ The latest upstream changes (presumably #76678) made this pull request unmergeable. Please resolve the merge conflicts. Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:  | 
80727a1    to
    7a3c20e      
    Compare
  
    | Rebased. | 
| Rebasing merge conflicts in these pull requests is kinda painful without being reviewed. | 
| will try to review this today, sorry for being silent this weekend | 
| 📌 Commit 6655ad7 has been approved by  | 
| ⌛ Testing commit 6655ad7 with merge 4aa7dc2038d4fe5064c83fe5737e3b7c0d086829... | 
| 💔 Test failed - checks-actions | 
| I think you have to update 
 | 
| Oh, my fool. Thought that a spurious failure in the previous error. | 
| @bors r+ rollup=never | 
| 📌 Commit c65050d has been approved by  | 
| ☀️ Test successful - checks-actions, checks-azure | 
Using <Iter>::new instead of exposing internal fields As requested in rust-lang#76311 (comment)
| Hi! This PR showed up in the weekly perf triage report. It resulted in a moderate improvement in instruction counts (up to -1.9% on  I've observed some other module splitting PRs that have unexpected effects on performance. I wonder why that is? In any case, I don't think there's anything to be done here. Thanks @lzutao. | 
| Every module contributes one codegen unit (before cgu merging). By splitting a module you get more codegen units. This can have an effect on performance. | 
Unfortunately the
#[lang = "slice"]is too big (3003 lines), I cannot split it further.Note for reviewer:
I split core/slice/mod.rs to these modules:
ascii: For operations on[u8].cmp: For comparison operations on[T], like PartialEq and SliceContains impl.index: For indexing operations like Index/IndexMut and SliceIndex.iter: For Iterator definitions and implementation on[T].macros: For iterator! and forward_iterator! macros.raw: For free function to create&[T]or&mut [T]from pointer + length or a reference.The heapsort wrapper in mod.rs is removed in favor of reexport from
sort::heapsort.