-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rollup of 17 pull requests #59921
Rollup of 17 pull requests #59921
Conversation
This increases the size of some important types, such as `ast::Expr` and `mir::Statement`. However, it drastically reduces how much the interner is used, and the fields are more natural sizes that don't require bit operations to extract. As a result, instruction counts drop across a range of workloads, by as much as 12% for incremental "check" builds of `script-servo`. Peak memory usage goes up a little for some cases, but down by more for some other cases -- as much as 18% for non-incremental builds of `packed-simd`. The commit also: - removes the `repr(packed)`, because it has negligible effect, but can cause undefined behaviour; - replaces explicit impls of common traits (`Copy`, `PartialEq`, etc.) with derived ones.
It is now exactly equivalent to lookup_char_pos.
Implicit promotion on the other hand has very strict rules on what may be done
- Make links relative. - Adjust links from old 2018-edition book. - Fix broken link in `let` docs.
This commit implements the `{read,write}_vectored` methods on more types in the standard library, namely: * `std::fs::File` * `std::process::ChildStd{in,out,err}` * `std::io::Std{in,out,err}` * `std::io::Std{in,out,err}Lock` * `std::io::Std{in,out,err}Raw` Where supported the OS implementations hook up to native support, otherwise it falls back to the already-defaulted implementation.
It's useful to see the biggest variants first.
This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
…hton Stabilize the `alloc` crate. This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
…enkov Increase `Span` from 4 bytes to 8 bytes. This increases the size of some important types, such as `ast::Expr` and `mir::Statement`. However, it drastically reduces how much the interner is used, and the fields are more natural sizes that don't require bit operations to extract. As a result, instruction counts drop across a range of workloads, by as much as 10% for `script-servo` incremental builds. Peak memory usage goes up a little for some cases, but down by more for some other cases -- as much as 18% for non-incremental builds of `packed-simd`. The commit also: - removes the `repr(packed)`, because it has negligible effect, but can cause undefined behaviour; - replaces explicit impls of common traits (`Copy`, `PartialEq`, etc.) with derived ones. r? @petrochenkov
…-mut, r=pnkfelix Mark variables captured by reference as mutable correctly Closes rust-lang#59620 r? @pnkfelix
remove lookup_char_pos_adj It is now exactly equivalent to lookup_char_pos.
…k, r=ehuss Copy book.toml unstable book generator Solves rust-lang#59554 and adds a book title to the unstable book. I assume that [copy_recursive](https://github.com/rust-lang/rust/blob/acd8dd6a50d505057a7d7ad8d0d7a4c2bd274200/src/tools/unstable-book-gen/src/main.rs#L105) will take files regardless of their type (`.md` or `.toml`). Although I had a hard time time testing it. A second pair of eyes is definitely needed.
Limit dylib symbols This makes `windows-gnu` match the behavior of `windows-msvc`. It probably doesn't make sense to export these symbols on other platforms either.
Retire `IsNotConst` naming This naming scheme caused a lot of confusion lately (including ICEs) due to misrefactored code. Also clean up the initialization code for said flag. r? @eddyb previous discussions: rust-lang#58784 (comment) rust-lang#58403 (comment)
Clean up jobserver integration cc @alexcrichton
…cramertj Eliminate `FnBox` usages from libstd.
Fix links on keyword docs. - Make links relative. - Adjust links from old 2018-edition book. - Fix broken link in `let` docs.
…acrum Re-export NonZero signed variant in std Closes rust-lang#59834 .
std: Add `{read,write}_vectored` for more types This commit implements the `{read,write}_vectored` methods on more types in the standard library, namely: * `std::fs::File` * `std::process::ChildStd{in,out,err}` * `std::io::Std{in,out,err}` * `std::io::Std{in,out,err}Lock` * `std::io::Std{in,out,err}Raw` Where supported the OS implementations hook up to native support, otherwise it falls back to the already-defaulted implementation.
…-type-decl, r=QuietMisdreavus Fix attributes position in type declaration Fixes rust-lang#59797. r? @rust-lang/rustdoc
…Centril Make duplicate matcher bindings a hard error r? @Centril Closes rust-lang#57742
Use SecRandomCopyBytes instead of /dev/urandom on MacOS SecRandomCopyBytes is [available since MacOS 10.7](https://developer.apple.com/documentation/security/1399291-secrandomcopybytes?language=objc) which is the minimum supported version and which was suggested in rust-lang#58901 (comment) is the earliest version currently in use. This matches the behaviour of other platforms which have a random number generator syscall available.
…ize, r=pnkfelix In `-Zprint-type-size` output, sort enum variants by size. It's useful to see the biggest variants first. r? @pnkfelix
MaybeUninit: remove deprecated functions
@bors r+ p=17 |
📌 Commit 910c719 has been approved by |
⌛ Testing commit 910c719 with merge 8a1354a2359211a04d831f3d4b79c8a0f962d45f... |
💔 Test failed - checks-travis |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Successful merges:
alloc
crate. #59675 (Stabilize thealloc
crate.)Span
from 4 bytes to 8 bytes. #59693 (IncreaseSpan
from 4 bytes to 8 bytes.)IsNotConst
naming #59796 (RetireIsNotConst
naming)FnBox
usages from libstd. #59818 (EliminateFnBox
usages from libstd.){read,write}_vectored
for more types #59852 (std: Add{read,write}_vectored
for more types)-Zprint-type-size
output, sort enum variants by size. #59899 (In-Zprint-type-size
output, sort enum variants by size.)Failed merges:
r? @ghost