-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 16 pull requests #56376
Rollup of 16 pull requests #56376
Conversation
This requires adding a new method, `P::filter_map`. This commit reduces instruction counts for various benchmarks by up to 0.7%.
`TryFrom<&[T]> for &[T; $N]` (note *reference* to an array) already exists, but not needing to dereference makes type inference easier for example when using `u32::from_be_bytes`. Also add doc examples doing just that.
This way all files needed by packagers now reside in toplevel Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
This commit converts some 2-space indents to 4-space indents.
They are unused. The commit also adds some blank lines between some methods.
`Printer::word` takes a `&str` and converts it into a `String`, which causes an allocation. But that allocation is rarely necessary, because `&str` is almost always a `&'static str` or a `String` that won't be used again. This commit changes `Token::String` so it holds a `Cow<'static, str>` instead of a `String`, which avoids a lot of allocations.
`pretty_print` takes a `Token` and `match`es on it. But the particular `Token` kind is known at each call site, so this commit splits it into five functions: `pretty_print_eof`, `pretty_print_begin`, etc. This commit also does likewise with `print`, though there is one callsite for `print` where the `Token` kind isn't known, so a generic `print` has to stay (but it now just calls out to the various `print_*` functions).
`mir_stats` has not been used since 2b32cb9.
This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'.
I noticed on a [recent build][1] that the linkchecker stage of CI took a whopping 15 minutes of CI time for something that should be near instantaneous. Some local profiling showed some very hot functions and clones which were pretty easy to remove, and now instead of running in minutes locally it runs in seconds. [1]: https://ci.appveyor.com/project/rust-lang/rust/build/job/kptifw1kb1nm4xuu
Don't panic in determining the privacy of a type if a lifetime outlives generic exists in an existential type.
…oerister Use sort_by_cached_key when the key function is not trivial/free I'm not 100% sure about `def_path_hash` (everything it does is inlined) but it seems like a good idea at least for the rest, as they are cloning.
add test for issue rust-lang#21335 Running this test with LLVM assertions enabled doesn't seem to trigger an assertion on my Mac. Fixes rust-lang#21335.
Assorted tweaks - preallocate `VecDeque` in `Decodable::decode` (as it is done with other collections which can do it) - add a FIXME to `String::from_utf16` r? @RalfJung
…ithoutboats Add TryFrom<&[T]> for [T; $N] where T: Copy `TryFrom<&[T]> for &[T; $N]` (note *reference* to an array) already exists, but not needing to dereference makes type inference easier for example when using `u32::from_be_bytes`. Also add doc examples doing just that.
Update cargo 14 commits in b3d0b2e545b61d4cd08096911724b7d49d213f73..1ff5975b96b3d395bb962394596998dfb485f793 2018-11-15 19:13:04 +0000 to 2018-11-25 14:59:12 +0000 - Intern SourceId (rust-lang/cargo#6342) - Tweak Layout to allow for non json file targets with internal "." (rust-lang/cargo#6255) - Correct Target Directory command-line option (rust-lang/cargo#6343) - Persistent data structures by im-rs (rust-lang/cargo#6336) - Move command prelude into main library (rust-lang/cargo#6335) - Distinguish custom build invocations (rust-lang/cargo#6331) - Allow crate_type=bin examples to run (rust-lang/cargo#6330) - Make verify-project honour unstable features (rust-lang/cargo#6326) - Make autodiscovery disable inferred targets (rust-lang/cargo#6329) - Add `c` alias for `check` (rust-lang/cargo#6218) - Allow user aliases to override built-in aliases (rust-lang/cargo#6259) - Fix renaming directory project using build scripts with cross-compiling. (rust-lang/cargo#6328) - Fix add_plugin_deps-related tests. (rust-lang/cargo#6327) - Add a glossary. (rust-lang/cargo#6321)
…r=petrochenkov Reuse the `P` in `InvocationCollector::fold_{,opt_}expr`. This requires adding a new method, `P::filter_map`. This commit reduces instruction counts for various benchmarks by up to 0.7%.
move stage0.txt to toplevel directory This way all files needed by packagers now reside in toplevel
update miri This should make miri green again :) (Includes rust-lang/miri#553) r? @oli-obk
…akis Clean up and streamline the pretty-printer Some minor improvements.
…excrichton Remove not used option `mir_stats` has not been used since 2b32cb9.
…-Simulacrum Rename conversion util; remove duplicate util in librustc_codegen_llvm.
…ension, r=nagisa rustc 1.30.0's linker flavor inference is a non-backwards compat change to -Clinker Part of rust-lang#55396. This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'. r? @nagisa cc @alexcrichton @japaric
Add inline attributes and add unit to CommonTypes
…troalbini Optimize local linkchecker program I noticed on a [recent build][1] that the linkchecker stage of CI took a whopping 15 minutes of CI time for something that should be near instantaneous. Some local profiling showed some very hot functions and clones which were pretty easy to remove, and now instead of running in minutes locally it runs in seconds. [1]: https://ci.appveyor.com/project/rust-lang/rust/build/job/kptifw1kb1nm4xuu
Fix panic with outlives in existential type Don't panic in determining the privacy of a type if a lifetime outlives generic exists in an existential type. r? @oli-obk Fixes: rust-lang#55903
…imulacrum Update books This pulls in @gankro 's final nomicon changes, and adds the edition guide as a submodule. This is the final doc backport to beta for 1.31, as well.
@bors r+ p=16 |
📌 Commit 69eea7a has been approved by |
⌛ Testing commit 69eea7a with merge 75b0d8523e78684fd123748f27f4eadb1bd9a09c... |
💔 Test failed - status-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:
P
inInvocationCollector::fold_{,opt_}expr
. #56268 (Reuse theP
inInvocationCollector::fold_{,opt_}expr
.)Failed merges:
r? @ghost