-
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 19 pull requests #78874
Rollup of 19 pull requests #78874
Conversation
Insta-stabilize the methods `is_ready` and `is_pending` of `Poll`. Possible because of the recent stabilization of const control flow. Also adds a test for these methods in a const context.
Due to the recent release of 1.47.0, this PR will be stabilized in 1.49.0 instead of 1.48.0.
This adds a binary called `x` in `src/tools/x`. All it does is check the current directory and its ancestors for a file called `x.py`, and if it finds one, runs it. By installing x, you can easily `x.py` from any subdirectory. It can be installed globally with `cargo install --path src/tools/x`
Also includes: - Cell::into_inner - RefCell::into_inner - Atomic*::into_inner
Partially fix rust-lang#55002, deprecate in another release Co-authored-by: Ashley Mannix <kodraus@hey.com> Update stable version for stabilize_spin_loop Co-authored-by: Joshua Nelson <joshua@yottadb.com> Use better example for spinlock As suggested by KodrAus Remove renamed_spin_loop already available in master Fix spin loop example
Includes: - io::Cursor::new - io::Cursor::get_ref - io::Cursor::position - io::empty - io::repeat - io::sink
Should hopefully fix rust-lang#78341 and rust-lang#78340.
Prior to this, setting the rustfmt configuration was ignored: ``` % mkdir example % cd example % ../configure --set build.rustfmt=/usr/bin/true % ../x.py fmt ./x.py fmt is not supported on this channel failed to run: /Users/shep/Projects/rust/example/build/bootstrap/debug/bootstrap fmt Build completed unsuccessfully in 0:00:01 ``` And after: ``` % ../x.py fmt Build completed successfully in 0:00:11 ```
The inlining integrator produces relatively verbose and uninteresting logs. Move them from a debug log level to a trace level, so that they can be easily isolated from others.
fixed a typo and modified some line formatting justification while I'm here :)
Fixes rust-lang#78819 This extends the check for dereferences added in PR rust-lang#77324 to cover mutable borrows, as well as direct writes. If we're operating on a dereference of a `const` item, we shouldn't be firing the lint.
…rAus Stabilize hint::spin_loop Partially fix rust-lang#55002, deprecate in another release r? ``````@KodrAus``````
Stabilize `Poll::is_ready` and `is_pending` as const Insta-stabilize the methods `is_ready` and `is_pending` of `std::task::Poll` as const, in the same way as [PR#76198](rust-lang#76198). Possible because of the recent stabilization of const control flow. Part of rust-lang#76225.
make concurrency helper more pleasant to read
…-size, r=jyn514 Remove FIXME comment in print_type_sizes ui test suite ## Overview Helps with rust-lang#62277 > The type sizes are likely only printed when the actual layout is computed. For generic types, this only happens during codegen. ref: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Codegen.20process.20question/near/215836807 Some tests like `multiple_types.rs` are passed even if using `check-pass`. But tests should be agnostic to when the actual layout is computed. The `build-pass` is intentionally used for them. I remove FIXME comments.
Use SOCK_CLOEXEC and accept4() on more platforms. This PR enables the use of `SOCK_CLOEXEC` and `accept4` on more platforms. ----- Android uses the linux kernel, so it should also support it. DragonflyBSD introduced them in 4.4 (December 2015): https://www.dragonflybsd.org/release44/ FreeBSD introduced them in 10.0 (January 2014): https://wiki.freebsd.org/AtomicCloseOnExec Illumos introduced them in a commit in April 2013, not sure when it was released. It is quite possible that is has always been in Illumos: illumos/illumos-gate@5dbfd19 https://illumos.org/man/3socket/socket https://illumos.org/man/3socket/accept4 NetBSD introduced them in 6.0 (Oktober 2012) and 8.0 (July 2018): https://man.netbsd.org/NetBSD-6.0/socket.2 https://man.netbsd.org/NetBSD-8.0/accept.2 OpenBSD introduced them in 5.7 (May 2015): https://man.openbsd.org/socket https://man.openbsd.org/accept
…lnay Constantify `UnsafeCell::into_inner` and related Tracking issue: rust-lang#78729 This PR constantifies: - `UnsafeCell::into_inner` - `Cell::into_inner` - `RefCell::into_inner` - `Atomic*::into_inner` r? `````@dtolnay`````
…lacrum Bump Rustfmt and RLS Should hopefully fix rust-lang#78341 and fix rust-lang#78340.
Correct unsigned equivalent of isize to be usize See [rust-lang#74913 (comment)](rust-lang#74913 (comment)) for why this matters. Apparently it hasn't been used anywhere else, though CI will tell for sure.
Make some std::io functions `const` Tracking issue: rust-lang#78812 Make the following functions `const`: - `io::Cursor::new` - `io::Cursor::get_ref` - `io::Cursor::position` - `io::empty` - `io::repeat` - `io::sink` r? `````@dtolnay`````
use single char patterns for split() (clippy::single_char_pattern)
…lcnr Small cleanup in `TypeFoldable` derive macro r? ```@lcnr```
…k-Simulacrum Honor the rustfmt setting in config.toml Prior to this, setting the rustfmt configuration was ignored: ``` % mkdir example % cd example % ../configure --set build.rustfmt=/usr/bin/true % ../x.py fmt ./x.py fmt is not supported on this channel failed to run: /Users/shep/Projects/rust/example/build/bootstrap/debug/bootstrap fmt Build completed unsuccessfully in 0:00:01 ``` And after: ``` % ../x.py fmt Build completed successfully in 0:00:11 ``` r? `@Mark-Simulacrum`
Less verbose debug logging from inlining integrator The inlining integrator produces relatively verbose and uninteresting logs. Move them from a debug log level to a trace level, so that they can be easily isolated from others.
Convert a bunch of intra-doc links An intra-doc link bonanza! This was accomplished using a bunch of trial-and-error with sed.
…ulacrum rustc_resolve: Use `#![feature(format_args_capture)]` This is the best new sugar for quite some time. (I only changed places that already used named arguments.)
typo and formatting fixed a typo and modified some line formatting justification while I'm here :)
…ow, r=varkor Don't fire `CONST_ITEM_MUTATION` lint when borrowing a deref Fixes rust-lang#78819 This extends the check for dereferences added in PR rust-lang#77324 to cover mutable borrows, as well as direct writes. If we're operating on a dereference of a `const` item, we shouldn't be firing the lint.
@bors r+ p=19 rollup=never |
📌 Commit 91759b2 has been approved by |
☀️ Test successful - checks-actions |
📣 Toolstate changed by #78874! Tested on commit b1277d0. 🎉 rls on windows: build-fail → test-pass (cc @Xanewok). |
Tested on commit rust-lang/rust@b1277d0. Direct link to PR: <rust-lang/rust#78874> 🎉 rls on windows: build-fail → test-pass (cc @Xanewok). 🎉 rls on linux: build-fail → test-pass (cc @Xanewok). 🎉 rustfmt on windows: build-fail → test-pass (cc @topecongiro @calebcartwright). 🎉 rustfmt on linux: build-fail → test-pass (cc @topecongiro @calebcartwright).
Successful merges:
Poll::is_ready
andis_pending
as const #76227 (StabilizePoll::is_ready
andis_pending
as const)x.py
from any subdirectory #78658 (Add a tool to runx.py
from any subdirectory)UnsafeCell::into_inner
and related #78728 (ConstantifyUnsafeCell::into_inner
and related)const
#78811 (Make some std::io functionsconst
)TypeFoldable
derive macro #78841 (Small cleanup inTypeFoldable
derive macro)#![feature(format_args_capture)]
#78860 (rustc_resolve: Use#![feature(format_args_capture)]
)CONST_ITEM_MUTATION
lint when borrowing a deref #78865 (Don't fireCONST_ITEM_MUTATION
lint when borrowing a deref)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup