-
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 #58412
Rollup of 13 pull requests #58412
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 2, 2019
-
Add FreeBSD armv6 and armv7 targets
MikaelUrankar committedFeb 2, 2019 Configuration menu - View commit details
-
Copy full SHA for 6d85669 - Browse repository at this point
Copy the full SHA 6d85669View 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 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 -
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 afe7741 - Browse repository at this point
Copy the full SHA afe7741View 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 3d4bfae - Browse repository at this point
Copy the full SHA 3d4bfaeView 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 52de7f5 - Browse repository at this point
Copy the full SHA 52de7f5View 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 4eda0c3 - Browse repository at this point
Copy the full SHA 4eda0c3View commit details -
Rollup merge of rust-lang#58080 - MikaelUrankar:freebsd_arm, r=nagisa
Add FreeBSD armv6 and armv7 targets
Configuration menu - View commit details
-
Copy full SHA for db2c161 - Browse repository at this point
Copy the full SHA db2c161View 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 5d4b054 - Browse repository at this point
Copy the full SHA 5d4b054View 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 298e9c8 - Browse repository at this point
Copy the full SHA 298e9c8View 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 a92a40d - Browse repository at this point
Copy the full SHA a92a40dView 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 17ca18c - Browse repository at this point
Copy the full SHA 17ca18cView 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 3a7b6a9 - Browse repository at this point
Copy the full SHA 3a7b6a9View 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 141e0c6 - Browse repository at this point
Copy the full SHA 141e0c6View 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 20d2ab8 - Browse repository at this point
Copy the full SHA 20d2ab8View 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 0f1c1dd - Browse repository at this point
Copy the full SHA 0f1c1ddView commit details