-
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 12 pull requests #58415
Rollup of 12 pull requests #58415
Commits on Jan 21, 2019
-
Speed up the fast path for assert_eq! and assert_ne!
Currently, the panic!() calls directly borrow the value bindings. This causes those bindings to always be initialized, i.e. they're initialized even before the values are even compared. This causes noticeable overhead in what should be a really cheap operation. By performing a reborrow of the value in the call to panic!(), we allow LLVM to optimize that code, so that the extra borrow only happens in the error case. We could achieve the same result by dereferencing the values passed to panic!(), as the format machinery borrows them anyway, but this causes assertions to fail to compile if one of the values is unsized, i.e. it would be a breaking change.
Configuration menu - View commit details
-
Copy full SHA for 5a7cd84 - Browse repository at this point
Copy the full SHA 5a7cd84View commit details
Commits on Jan 31, 2019
-
Configuration menu - View commit details
-
Copy full SHA for f841ff4 - Browse repository at this point
Copy the full SHA f841ff4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f2d495 - Browse repository at this point
Copy the full SHA 2f2d495View commit details
Commits on Feb 5, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 346dc37 - Browse repository at this point
Copy the full SHA 346dc37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 113b7f7 - Browse repository at this point
Copy the full SHA 113b7f7View commit details
Commits on Feb 6, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 13bbba2 - Browse repository at this point
Copy the full SHA 13bbba2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a996f2c - Browse repository at this point
Copy the full SHA a996f2cView commit details
Commits on Feb 7, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 66c894e - Browse repository at this point
Copy the full SHA 66c894eView commit details
Commits on Feb 9, 2019
-
impl iter_sources() and iter_chain() for dyn Error
Examples: ```rust let next_error_type_a = err .iter_chain() .filter_map(Error::downcast_ref::<ErrorTypeA>) .next(); ``` ```rust let source_root_error = err.iter_chain().last(); ``` Credit for the ErrorIter goes to Tim Diekmann https://www.reddit.com/r/rust/comments/aj3lpg/is_an_iterator_impl_over_errorsource_possible/
Configuration menu - View commit details
-
Copy full SHA for f06af1f - Browse repository at this point
Copy the full SHA f06af1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a1a704 - Browse repository at this point
Copy the full SHA 3a1a704View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb669b3 - Browse repository at this point
Copy the full SHA eb669b3View commit details
Commits on Feb 12, 2019
-
Configuration menu - View commit details
-
Copy full SHA for aafbf74 - Browse repository at this point
Copy the full SHA aafbf74View commit details -
Configuration menu - View commit details
-
Copy full SHA for b284c8d - Browse repository at this point
Copy the full SHA b284c8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 04f425d - Browse repository at this point
Copy the full SHA 04f425dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 370f1f2 - Browse repository at this point
Copy the full SHA 370f1f2View commit details -
use Ubuntu keyserver for CloudABI ports
The Ubuntu keyserver is more reliable than the MIT PGP server, which is prone to going down. This commit also explicitly uses port 80 on the keyserver for reasons outlined in rust-lang#57844.
Configuration menu - View commit details
-
Copy full SHA for 8b21a55 - Browse repository at this point
Copy the full SHA 8b21a55View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3733b32 - Browse repository at this point
Copy the full SHA 3733b32View commit details -
Remove some dead code from libcore
These macros are not required to glue the `core_arch` crate anymore.
Configuration menu - View commit details
-
Copy full SHA for 1431c21 - Browse repository at this point
Copy the full SHA 1431c21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3216c76 - Browse repository at this point
Copy the full SHA 3216c76View commit details -
Configuration menu - View commit details
-
Copy full SHA for c360ba2 - Browse repository at this point
Copy the full SHA c360ba2View commit details -
Configuration menu - View commit details
-
Copy full SHA for c08b5ca - Browse repository at this point
Copy the full SHA c08b5caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a9d171 - Browse repository at this point
Copy the full SHA 3a9d171View commit details
Commits on Feb 13, 2019
-
Rollup merge of rust-lang#57693 - king6cong:word, r=Centril
Doc rewording None
Configuration menu - View commit details
-
Copy full SHA for 734cc3e - Browse repository at this point
Copy the full SHA 734cc3eView commit details -
Rollup merge of rust-lang#57815 - dotdash:asserts, r=sfackler
Speed up the fast path for assert_eq! and assert_ne! Currently, the panic!() calls directly borrow the value bindings. This causes those bindings to always be initialized, i.e. they're initialized even before the values are even compared. This causes noticeable overhead in what should be a really cheap operation. By performing a reborrow of the value in the call to panic!(), we allow LLVM to optimize that code, so that the extra borrow only happens in the error case. We could achieve the same result by dereferencing the values passed to panic!(), as the format machinery borrows them anyway, but this causes assertions to fail to compile if one of the values is unsized, i.e. it would be a breaking change.
Configuration menu - View commit details
-
Copy full SHA for 0ed894a - Browse repository at this point
Copy the full SHA 0ed894aView commit details -
Rollup merge of rust-lang#58034 - faern:stabilize-time-checked-add, r…
…=alexcrichton Stabilize the time_checked_add feature Closes rust-lang#55940 Stabilizes `checked_add` and `checked_sub` on `Instant` and `SystemTime`.
Configuration menu - View commit details
-
Copy full SHA for 0ab1057 - Browse repository at this point
Copy the full SHA 0ab1057View commit details -
Rollup merge of rust-lang#58057 - michaelwoerister:stabilize-xlto, r=…
…alexcrichton Stabilize linker-plugin based LTO (aka cross-language LTO) This PR stabilizes [linker plugin based LTO](rust-lang#49879), also known as "cross-language LTO" because it allows for doing inlining and other optimizations across language boundaries in mixed Rust/C/C++ projects. As described in the tracking issue, it works by making `rustc` emit LLVM bitcode instead of machine code, the same as `clang` does. A linker with the proper plugin (like LLD) can then run (Thin)LTO across all modules. The feature has been implemented over a number of pull requests and there are various [codegen](https://github.com/rust-lang/rust/blob/master/src/test/codegen/no-dllimport-w-cross-lang-lto.rs) and [run](https://github.com/rust-lang/rust/tree/master/src/test/run-make-fulldeps/cross-lang-lto-clang)-[make](https://github.com/rust-lang/rust/tree/master/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs) [tests](https://github.com/rust-lang/rust/tree/master/src/test/run-make-fulldeps/cross-lang-lto) that make sure that it keeps working. It also works for building big projects like [Firefox](https://treeherder.mozilla.org/#/jobs?repo=try&revision=2ce2d5ddcea6fbff790503eac406954e469b2f5d). The PR makes the feature available under the `-C linker-plugin-lto` flag. As discussed in the tracking issue it is not cross-language specific and also not LLD specific. `-C linker-plugin-lto` is descriptive of what it does. If someone has a better name, let me know `:)`
Configuration menu - View commit details
-
Copy full SHA for 1c1d2e4 - Browse repository at this point
Copy the full SHA 1c1d2e4View commit details -
Rollup merge of rust-lang#58137 - ljedrz:cleanup_node_id_to_type, r=e…
…stebank Cleanup: rename node_id_to_type(_opt) Renames `node_id_to_type(_opt)` to `hir_id_to_type(_opt)`; this makes it clear we are dealing with HIR nodes and their IDs here. In addition, a drive-by commit removing `ty::item_path::hir_path_str` (as requested by @eddyb).
Configuration menu - View commit details
-
Copy full SHA for 81434cb - Browse repository at this point
Copy the full SHA 81434cbView commit details -
Rollup merge of rust-lang#58166 - euclio:deprecation-shorthand, r=pet…
…rochenkov allow shorthand syntax for deprecation reason Fixes rust-lang#48271. Created based on discussion in rust-lang#56896.
Configuration menu - View commit details
-
Copy full SHA for 856e411 - Browse repository at this point
Copy the full SHA 856e411View commit details -
Rollup merge of rust-lang#58200 - RalfJung:str-as-mut-ptr, r=SimonSapin
fix str mutating through a ptr derived from &self Found by Miri: In `get_unchecked_mut` (also used by the checked variants internally) uses `str::as_ptr` to create a mutable reference, but `as_ptr` takes `&self`. This means the mutable references we return here got created from a shared reference, which violates the shared-references-are-read-only discipline! For this by using a newly introduced `as_mut_ptr` instead.
Configuration menu - View commit details
-
Copy full SHA for ecb6503 - Browse repository at this point
Copy the full SHA ecb6503View commit details -
Rollup merge of rust-lang#58273 - taiki-e:rename-dependency, r=matthe…
…wjasper Rename rustc_errors dependency in rust 2018 crates I think this is a better solution than `use rustc_errors as errors` in `lib.rs` and `use crate::errors` in modules. Related: rust-lang/cargo#5653 cc rust-lang#58099 r? @Centril
Configuration menu - View commit details
-
Copy full SHA for 0bc8f6f - Browse repository at this point
Copy the full SHA 0bc8f6fView commit details -
Rollup merge of rust-lang#58289 - haraldh:master, r=sfackler
impl iter() for dyn Error Examples: ```rust let next_error_type_a = err .iter() .filter_map(Error::downcast_ref::<ErrorTypeA>) .next(); ``` ```rust let source_root_error = err.iter().last(); ``` Credit for the ErrorIter goes to reddit user /u/tdiekmann (Tim Diekmann) https://www.reddit.com/r/rust/comments/aj3lpg/is_an_iterator_impl_over_errorsource_possible/
Configuration menu - View commit details
-
Copy full SHA for 5aa260a - Browse repository at this point
Copy the full SHA 5aa260aView commit details -
Rollup merge of rust-lang#58387 - alexreg:fix-trait-alias-2, r=centril
Disallow `auto` trait alias syntax See rust-lang#41517 (comment). r? @Centril CC @topecongiro @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for a5e869e - Browse repository at this point
Copy the full SHA a5e869eView commit details -
Rollup merge of rust-lang#58404 - euclio:cloudabi-keyserver, r=alexcr…
…ichton use Ubuntu keyserver for CloudABI ports The Ubuntu keyserver is more reliable than the MIT PGP server, which is prone to going down. This commit also explicitly uses port 80 on the keyserver for reasons outlined in rust-lang#57844.
Configuration menu - View commit details
-
Copy full SHA for f3c4652 - Browse repository at this point
Copy the full SHA f3c4652View commit details -
Rollup merge of rust-lang#58405 - gnzlbg:remove_unused_macros, r=alex…
…crichton Remove some dead code from libcore These macros are not required to glue the `core_arch` crate anymore.
Configuration menu - View commit details
-
Copy full SHA for 6562c28 - Browse repository at this point
Copy the full SHA 6562c28View commit details