-
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 13 pull requests #58413
Rollup of 13 pull requests #58413
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 -
Configuration menu - View commit details
-
Copy full SHA for 703540d - Browse repository at this point
Copy the full SHA 703540dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a16a25 - Browse repository at this point
Copy the full SHA 5a16a25View commit details
Commits on Feb 6, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 8a7df4f - Browse repository at this point
Copy the full SHA 8a7df4fView commit details -
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 3f30ed9 - Browse repository at this point
Copy the full SHA 3f30ed9View 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 fa29099 - Browse repository at this point
Copy the full SHA fa29099View 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 48ba561 - Browse repository at this point
Copy the full SHA 48ba561View 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 76b6bda - Browse repository at this point
Copy the full SHA 76b6bdaView 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 f6da289 - Browse repository at this point
Copy the full SHA f6da289View 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 4e68da2 - Browse repository at this point
Copy the full SHA 4e68da2View commit details -
Rollup merge of rust-lang#58196 - varkor:const-fn-feature-gate-error,…
… r=oli-obk Add specific feature gate error for const-unstable features Before: ``` error: `impl Trait` in const fn is unstable --> src/lib.rs:7:19 | 7 | const fn foo() -> impl T { | ^^^^^^ error: aborting due to previous error ``` After: ``` error[E0723]: `impl Trait` in const fn is unstable (see issue rust-lang#57563) --> src/lib.rs:7:19 | 7 | const fn foo() -> impl T { | ^^^^^^ = help: add #![feature(const_fn)] to the crate attributes to enable error: aborting due to previous error ``` This improves the situation with rust-lang#57563. Fixes rust-lang#57544. Fixes rust-lang#54469. r? @oli-obk
Configuration menu - View commit details
-
Copy full SHA for 937838f - Browse repository at this point
Copy the full SHA 937838fView 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 414f7ec - Browse repository at this point
Copy the full SHA 414f7ecView 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 55bc4f6 - Browse repository at this point
Copy the full SHA 55bc4f6View 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 41488c8 - Browse repository at this point
Copy the full SHA 41488c8View 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 858258a - Browse repository at this point
Copy the full SHA 858258aView 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 6f50834 - Browse repository at this point
Copy the full SHA 6f50834View 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 3883319 - Browse repository at this point
Copy the full SHA 3883319View commit details