-
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 #84432
Rollup of 12 pull requests #84432
Commits on Feb 27, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 5b9905b - Browse repository at this point
Copy the full SHA 5b9905bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 772543a - Browse repository at this point
Copy the full SHA 772543aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 907eab8 - Browse repository at this point
Copy the full SHA 907eab8View commit details
Commits on Apr 1, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 539242a - Browse repository at this point
Copy the full SHA 539242aView commit details -
Configuration menu - View commit details
-
Copy full SHA for eea27b8 - Browse repository at this point
Copy the full SHA eea27b8View commit details
Commits on Apr 2, 2021
-
On stable, suggest removing
#![feature]
for features that have been…… stabilized I don't know how to test this. I confirmed locally that this gives the appropriate help with `channel = "beta"`: ``` error[E0554]: `#![feature]` may not be used on the beta release channel --> src/lib.rs:2:1 | 2 | #![feature(min_const_generics)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute | = help: the feature `min_const_generics` has been stable since 1.51.0 and no longer requires an attribute to enable error[E0554]: `#![feature]` may not be used on the beta release channel --> src/lib.rs:3:1 | 3 | #![feature(min_const_generics, min_specialization)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: the feature `min_const_generics` has been stable since 1.51.0 and no longer requires an attribute to enable error[E0554]: `#![feature]` may not be used on the beta release channel --> src/lib.rs:4:1 | 4 | #![feature(box_patterns)] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ```
Configuration menu - View commit details
-
Copy full SHA for 53a1105 - Browse repository at this point
Copy the full SHA 53a1105View commit details
Commits on Apr 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for fa1624c - Browse repository at this point
Copy the full SHA fa1624cView commit details -
Rename AssociatedItems to AssocItems
Signed-off-by: Rustin-Liu <rustin.liu@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 115e216 - Browse repository at this point
Copy the full SHA 115e216View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c3f5b8 - Browse repository at this point
Copy the full SHA 6c3f5b8View commit details
Commits on Apr 8, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 37a5b51 - Browse repository at this point
Copy the full SHA 37a5b51View commit details
Commits on Apr 13, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 7efba4f - Browse repository at this point
Copy the full SHA 7efba4fView commit details
Commits on Apr 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 904ee68 - Browse repository at this point
Copy the full SHA 904ee68View commit details
Commits on Apr 15, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 2ecc820 - Browse repository at this point
Copy the full SHA 2ecc820View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03900e4 - Browse repository at this point
Copy the full SHA 03900e4View commit details
Commits on Apr 16, 2021
-
bootstrap: use bash on illumos to run install scripts
The default illumos shell ("sh" in the default PATH) is ksh93, rather than bash, and does not support constructs like "local" that came from bash. The bootstrap function for invoking "install.sh" scripts should use "bash" explicitly there to avoid issues.
Configuration menu - View commit details
-
Copy full SHA for 4873271 - Browse repository at this point
Copy the full SHA 4873271View commit details
Commits on Apr 20, 2021
-
rustdoc: use details tag for trait implementors
This switches from JS-generated toggles to using the HTML <details> tag for expanding and collapsing entries in the "Implementors" section.
Configuration menu - View commit details
-
Copy full SHA for 569096c - Browse repository at this point
Copy the full SHA 569096cView commit details
Commits on Apr 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 259a368 - Browse repository at this point
Copy the full SHA 259a368View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7cb1dcd - Browse repository at this point
Copy the full SHA 7cb1dcdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 312b4fd - Browse repository at this point
Copy the full SHA 312b4fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for d3e0d2f - Browse repository at this point
Copy the full SHA d3e0d2fView commit details -
rustc: Use LLVM's new saturating float-to-int intrinsics
This commit updates rustc, with an applicable LLVM version, to use LLVM's new `llvm.fpto{u,s}i.sat.*.*` intrinsics to implement saturating floating-point-to-int conversions. This results in a little bit tighter codegen for x86/x86_64, but the main purpose of this is to prepare for upcoming changes to the WebAssembly backend in LLVM where wasm's saturating float-to-int instructions will now be implemented with these intrinsics. This change allows simplifying a good deal of surrounding code, namely removing a lot of wasm-specific behavior. WebAssembly no longer has any special-casing of saturating arithmetic instructions and the need for `fptoint_may_trap` is gone and all handling code for that is now removed. This means that the only wasm-specific logic is in the `fpto{s,u}i` instructions which only get used for "out of bounds is undefined behavior". This does mean that for the WebAssembly target specifically the Rust compiler will no longer be 100% compatible with pre-LLVM 12 versions, but it seems like that's unlikely to be relied on by too many folks. Note that this change does immediately regress the codegen of saturating float-to-int casts on WebAssembly due to the specialization of the LLVM intrinsic not being present in our LLVM fork just yet. I'll be following up with an LLVM update to pull in those patches, but affects a few other SIMD things in flight for WebAssembly so I wanted to separate this change. Eventually the entire `cast_float_to_int` function can be removed when LLVM 12 is the minimum version, but that will require sinking the complexity of it into other backends such as Cranelfit.
Configuration menu - View commit details
-
Copy full SHA for de2a460 - Browse repository at this point
Copy the full SHA de2a460View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6763a40 - Browse repository at this point
Copy the full SHA 6763a40View commit details
Commits on Apr 22, 2021
-
Rollup merge of rust-lang#71511 - hi-rustin:rustin-patch-rename-assoc…
…, r=eddyb,varkor Rename AssociatedItems to AssocItems Signed-off-by: Rustin-Liu <rustin.liu@gmail.com> Part of rust-lang#60163 (comment)
Configuration menu - View commit details
-
Copy full SHA for f990d7e - Browse repository at this point
Copy the full SHA f990d7eView commit details -
Rollup merge of rust-lang#77704 - AnthonyMikh:slice_index_with_ops_bo…
…und_pair, r=m-ou-se Implement indexing slices with pairs of core::ops::Bound<usize> Closes rust-lang#49976. I am not sure about code duplication between `check_range` and `into_maybe_range`. Should be former implemented in terms of the latter? Also this PR doesn't address code duplication between `impl SliceIndex for Range*`.
Configuration menu - View commit details
-
Copy full SHA for 30f48d4 - Browse repository at this point
Copy the full SHA 30f48d4View commit details -
Rollup merge of rust-lang#82585 - TrolledWoods:master, r=dtolnay
Added CharIndices::offset function The CharIndices iterator has a field internally called front_offset, that I think would be very useful to have access to. You can already do something like ``char_indices.next().map(|(offset, _)| offset)``, but that is wordy, in addition to not handling the case where the iterator has ended, where you'd want the offset to be equal to the length. I'm very new to the open source world and the rust repository, so I'm sorry if I missed a step or did something weird.
Configuration menu - View commit details
-
Copy full SHA for a6adb75 - Browse repository at this point
Copy the full SHA a6adb75View commit details -
Rollup merge of rust-lang#83722 - jyn514:stable-help, r=estebank
On stable, suggest removing `#![feature]` for features that have been stabilized I don't know how to test this (https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Run.20tests.20without.20enabling.20nightly.20features.3F). I confirmed locally that this gives the appropriate help with `channel = "beta"`: ``` error[E0554]: `#![feature]` may not be used on the beta release channel --> src/lib.rs:2:1 | 2 | #![feature(min_const_generics)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute | = help: the feature `min_const_generics` has been stable since 1.51.0 and no longer requires an attribute to enable error[E0554]: `#![feature]` may not be used on the beta release channel --> src/lib.rs:3:1 | 3 | #![feature(min_const_generics, min_specialization)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: the feature `min_const_generics` has been stable since 1.51.0 and no longer requires an attribute to enable error[E0554]: `#![feature]` may not be used on the beta release channel --> src/lib.rs:4:1 | 4 | #![feature(box_patterns)] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ``` Closes rust-lang#83715.
Configuration menu - View commit details
-
Copy full SHA for 59639c4 - Browse repository at this point
Copy the full SHA 59639c4View commit details -
Rollup merge of rust-lang#83729 - JohnTitor:issue-43913, r=estebank
Add a suggestion when using a type alias instead of trait alias Fixes rust-lang#43913 r? ````@estebank````
Configuration menu - View commit details
-
Copy full SHA for 3af420b - Browse repository at this point
Copy the full SHA 3af420bView commit details -
Rollup merge of rust-lang#83990 - the8472:take-trusted-len, r=dtolnay
implement `TrustedRandomAccess` for `Take` iterator adapter `TrustedRandomAccess` requires the iterator length to fit within `usize`. `take(n)` only constrains the upper bound of an iterator. So if the inner is `TrustedRandomAccess` (which already implies a finite length) then so can be `Take`. ```@rustbot``` label T-libs-impl
Configuration menu - View commit details
-
Copy full SHA for 63126dc - Browse repository at this point
Copy the full SHA 63126dcView commit details -
Rollup merge of rust-lang#84179 - CDirkx:dont_send_sync, r=m-ou-se
Explicitly implement `!Send` and `!Sync` for `sys::{Args, Env}` Remove the field `_dont_send_or_sync_me: PhantomData<*mut ()>` in favor of an explicit implementation of `!Send` and `!Sync`.
Configuration menu - View commit details
-
Copy full SHA for cb1e96a - Browse repository at this point
Copy the full SHA cb1e96aView commit details -
Rollup merge of rust-lang#84216 - RalfJung:black-box, r=Mark-Simulacrum
move core::hint::black_box under its own feature gate The `black_box` function had its own RFC and is tracked separately from the `test` feature at rust-lang#64102. Let's reflect this in the feature gate. To avoid breaking all the benchmarks, libtest's `test::black_box` is a wrapping definition, not a reexport -- this means it is still under the `test` feature gate.
Configuration menu - View commit details
-
Copy full SHA for 55ba3de - Browse repository at this point
Copy the full SHA 55ba3deView commit details -
Rollup merge of rust-lang#84250 - jclulow:illumos-bash-bootstrap, r=M…
…ark-Simulacrum bootstrap: use bash on illumos to run install scripts The default illumos shell ("sh" in the default PATH) is ksh93, rather than bash, and does not support constructs like "local" that came from bash. The bootstrap function for invoking "install.sh" scripts should use "bash" explicitly there to avoid issues.
Configuration menu - View commit details
-
Copy full SHA for 39558a1 - Browse repository at this point
Copy the full SHA 39558a1View commit details -
Rollup merge of rust-lang#84299 - lcnr:const-generics-defaults-name-r…
…es, r=varkor various const parameter defaults improvements Actually resolve names in const parameter defaults, fixing `struct Foo<const N: usize = { usize::MAX }>`. --- Split generic parameter ban rib for types and consts, allowing ```rust #![feature(const_generics_defaults)] struct Q; struct Foo<T = Q, const Q: usize = 3>(T); ``` --- Remove the type/const ordering restriction if `const_generics_defaults` is active, even if `const_generics` is not. allowing us to stabilize and test const param defaults separately. --- Check well formedness of const parameter defaults, eagerly emitting an error for `struct Foo<const N: usize = { 0 - 1 }>` --- Do not forbid const parameters in param defaults, allowing `struct Foo<const N: usize, T = [u8; N]>(T)` and `struct Foo<const N: usize, const M: usize = N>`. Note that this should not change anything which is stabilized, as on stable, type parameters must be in front of const parameters, which means that type parameter defaults are only allowed if no const parameters exist. We still forbid generic parameters inside of const param types. r? ````@varkor```` ````@petrochenkov````
Configuration menu - View commit details
-
Copy full SHA for d24ef6f - Browse repository at this point
Copy the full SHA d24ef6fView commit details -
Rollup merge of rust-lang#84320 - jsha:details-implementors, r=Manish…
…earth,Nemo157,GuillaumeGomez Use details tag for trait implementors. Part of rust-lang#83332 and following on from rust-lang#83337 and rust-lang#83355. This removes one category of JS-generated toggles (implementors), and replaces them with a `<details>` tag. This simplifies the JS, and fixes some bugs where things that were supposed to be hidden by the toggle were not hidden. Compare https://hoffman-andrews.com/rust/details-implementors/std/io/trait.Read.html#impl-Read vs https://doc.rust-lang.org/nightly/std/io/trait.Read.html#implementors. This introduces a `left: -23px` to put the toggle in the correct place, matching the current style for `.collapse-toggle`. It's worth noting this introduces a slight behavior change: since the entire line is now a `<summary>`, any part of the line is clickable. So for instance, in `impl Read for File`, clicking `impl` or `for` will collapse / expand the docs. Clicking `Read` or `File` still links to the appropriate documentation as before.
Configuration menu - View commit details
-
Copy full SHA for b06e03c - Browse repository at this point
Copy the full SHA b06e03cView commit details -
Rollup merge of rust-lang#84339 - alexcrichton:llvm-fptoint-sat, r=na…
…gisa rustc: Use LLVM's new saturating float-to-int intrinsics This commit updates rustc, with an applicable LLVM version, to use LLVM's new `llvm.fpto{u,s}i.sat.*.*` intrinsics to implement saturating floating-point-to-int conversions. This results in a little bit tighter codegen for x86/x86_64, but the main purpose of this is to prepare for upcoming changes to the WebAssembly backend in LLVM where wasm's saturating float-to-int instructions will now be implemented with these intrinsics. This change allows simplifying a good deal of surrounding code, namely removing a lot of wasm-specific behavior. WebAssembly no longer has any special-casing of saturating arithmetic instructions and the need for `fptoint_may_trap` is gone and all handling code for that is now removed. This means that the only wasm-specific logic is in the `fpto{s,u}i` instructions which only get used for "out of bounds is undefined behavior". This does mean that for the WebAssembly target specifically the Rust compiler will no longer be 100% compatible with pre-LLVM 12 versions, but it seems like that's unlikely to be relied on by too many folks. Note that this change does immediately regress the codegen of saturating float-to-int casts on WebAssembly due to the specialization of the LLVM intrinsic not being present in our LLVM fork just yet. I'll be following up with an LLVM update to pull in those patches, but affects a few other SIMD things in flight for WebAssembly so I wanted to separate this change. Eventually the entire `cast_float_to_int` function can be removed when LLVM 12 is the minimum version, but that will require sinking the complexity of it into other backends such as Cranelfit.
Configuration menu - View commit details
-
Copy full SHA for d759931 - Browse repository at this point
Copy the full SHA d759931View commit details