-
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
Rollup of 6 pull requests #40211
Rollup of 6 pull requests #40211
Conversation
This reduces the number of dynamic drops in libstd from 1141 to 899. However, without this change, the next patch would have created much more dynamic drops. A basic merge unswitching hack reduced the number of dynamic drops to 644, with no effect on stack usage. I should be writing a more dedicated drop unswitching pass. No performance measurements.
In MIR construction, operands need to live exactly until they are used, which is during the (sub)expression that made the call to `as_operand`. Before this PR, operands lived until the end of the temporary scope, which was sometimes unnecessarily longer and sometimes too short. Fixes rust-lang#38669.
Replace it with ConstUsize instead, which is more appropriate; we are not using the rest of the TypedConstVal anyway
… instead of silently ignoring a result. `fmt::Write for String` never returns `Err`, so implementations of `Display` (or other traits of that family) never should either. Fixes rust-lang#40103
…=nikomatsakis suggest doubling recursion limit in more situations Fixes rust-lang#38852. r? @bluss
[MIR] Rvalue::ty infallible + remove TypedConstVal Feel free to r+ whenever there aren't any big bit-rot sensitive PRs in the queue. r? @eddyb
…ter, r=alexcrichton Panic on errors in `format!` or `<T: Display>::to_string` … instead of silently ignoring a result. `fmt::Write for String` never returns `Err`, so implementations of `Display` (or other traits of that family) never should either. Fixes rust-lang#40103
Implement function-like procedural macros ( `#[proc_macro]`) Adds the `#[proc_macro]` attribute, which expects bare functions of the kind `fn(TokenStream) -> TokenStream`, which can be invoked like `my_macro!()`. cc rust-lang/rfcs#1913, rust-lang#38356 r? @jseyfried cc @nrc
[MIR] improve operand lifetimes r? @eddyb
…lexcrichton LLVM: Update submodule to include x86-interrupt ABI patches Update LLVM submodule to `rust-llvm-2016-10-29` branch (commit rust-lang/llvm@50ab09f).
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @eddyb (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
@bors r+ p=10 |
📌 Commit 5ebf038 has been approved by |
⌛ Testing commit 5ebf038 with merge e9eabe2... |
💔 Test failed - status-travis |
format!
or<T: Display>::to_string
#40117, Implement function-like procedural macros (#[proc_macro]
) #40129, [MIR] improve operand lifetimes #40133, LLVM: Update submodule to include x86-interrupt ABI patches #40207