-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
A few cleanups and minor improvements to rustc/traits #54295
Merged
Merged
Conversation
This file contains 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? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
rust-highfive
added
the
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
label
Sep 17, 2018
ljedrz
force-pushed
the
cleanups_rustc_traits
branch
from
September 18, 2018 06:49
45793ca
to
a8ec8e5
Compare
I just noticed that I forgot to take advantage of the |
nikomatsakis
approved these changes
Sep 18, 2018
@bors r+ rollup |
📌 Commit a8ec8e5 has been approved by |
bors
added
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Sep 18, 2018
kennytm
added a commit
to kennytm/rust
that referenced
this pull request
Sep 20, 2018
…omatsakis A few cleanups and minor improvements to rustc/traits It's a little bigger than usual, so bear with me ^^: - introduce `TyCtxt::all_impls` and use it to avoid inefficiently allocating push loops - modify `ArgKind::from_expected_ty` to take an `Option<Span>` argument to make it more versatile - replace `ArgKind::Arg("_".to_owned(), "_".to_owned())` with `ArgKind::empty` - move early `return`s earlier where possible - if all branches of a `match` end with the same expression, move it after it - change a hacky `match` expression to an `if else` chain - move the `push` out from a push loop closure to reduce the number of allocations - correct the vector size for `pretty_predicates` (under `specialize`) - take advantage of the fact that `if else` is an expression - prefer `cloned()` to `map(|&x| x)` and `map(|x| *x)` - prefer `vec![x; y.len()]` to `y.map(|_| x).collect()` - use `unwrap_or_else` instead of `match` where applicable - use `if let` instead of `match` when only one branch matters - prefer `to_owned` to `to_string` for string literals - remove explicit `return`s - remove superfluous braces - whitespace fixes - several other minor improvements
bors
added a commit
that referenced
this pull request
Sep 20, 2018
Rollup of 15 pull requests Successful merges: - #52813 (Duration div mul extras) - #53470 (Warn about metadata loader errors) - #54233 (Remove LLVM 3.9 workaround.) - #54257 (Switch wasm math symbols to their original names) - #54258 (Enable fatal warnings for the wasm32 linker) - #54266 (Update LLVM to fix "bool" arguments on PPC32) - #54290 (Switch linker for aarch64-pc-windows-msvc from LLD to MSVC) - #54292 (Suggest array indexing when tuple indexing on an array) - #54295 (A few cleanups and minor improvements to rustc/traits) - #54298 (miri: correctly compute expected alignment for field) - #54333 (Update The Book to latest) - #54337 (Remove unneeded clone() from tests in librustdoc) - #54346 (rustc: future-proof error reporting for polymorphic constants in types.) - #54362 (Pass --batch to gdb) - #54367 (Add regression test for thread local static mut borrows)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
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.
It's a little bigger than usual, so bear with me ^^:
TyCtxt::all_impls
and use it to avoid inefficiently allocating push loopsArgKind::from_expected_ty
to take anOption<Span>
argument to make it more versatileArgKind::Arg("_".to_owned(), "_".to_owned())
withArgKind::empty
return
s earlier where possiblematch
end with the same expression, move it after itmatch
expression to anif else
chainpush
out from a push loop closure to reduce the number of allocationspretty_predicates
(underspecialize
)if else
is an expressioncloned()
tomap(|&x| x)
andmap(|x| *x)
vec![x; y.len()]
toy.map(|_| x).collect()
unwrap_or_else
instead ofmatch
where applicableif let
instead ofmatch
when only one branch mattersto_owned
toto_string
for string literalsreturn
s