-
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 7 pull requests #77302
Rollup of 7 pull requests #77302
Conversation
This commit improves the diagnostic when a type parameter is expected and a closure is found, noting that each closure has a distinct type and therefore could not always match the caller-chosen type of the parameter. Signed-off-by: David Wood <[email protected]>
fold is known in python and javascript as reduce, not sure about inject but it was written in doc there.
This was a hack to work around the lack of an escape hatch for the "min `const fn`" checks in const-stable functions. Now that we have co-opted `allow_internal_unstable` for this purpose, we no longer need the bespoke attribute.
…atklad UI to unit test for those using Cell/RefCell/UnsafeCell Helps with rust-lang#76268. I'm working on all files using `Cell` and moving them to unit tests when possible. r? @matklad
…li-obk Add option to pass a custom codegen backend from a driver This allows the driver to pass information to the codegen backend. For example the headcrab debugger may in the future want to use cg_clif to JIT code to be injected in the debuggee. This would PR make it possible to tell cg_clif which symbol can be found at which address and to tell it to inject the JITed code into the right process. This PR may also help with rust-lang/miri#1540 by allowing miri to provide a codegen backend that only emits metadata and doesn't perform any codegen. cc @nbaksalyar (headcrab) cc @RalfJung (miri)
…, r=estebank diag: improve closure/generic parameter mismatch Fixes rust-lang#51154. This PR improves the diagnostic when a type parameter is expected and a closure is found, noting that each closure has a distinct type and therefore could not always match the caller-chosen type of the parameter. r? @estebank
Remove `#[rustc_allow_const_fn_ptr]` and add `#![feature(const_fn_fn_ptr_basics)]` `rustc_allow_const_fn_ptr` was a hack to work around the lack of an escape hatch for the "min `const fn`" checks in const-stable functions. Now that we have co-opted `allow_internal_unstable` for this purpose, we no longer need a bespoke attribute. Now this functionality is gated under `const_fn_fn_ptr_basics` (how concise!), and `#[allow_internal_unstable(const_fn_fn_ptr_basics)]` replaces `#[rustc_allow_const_fn_ptr]`. `const_fn_fn_ptr_basics` allows function pointer types to appear in the arguments and locals of a `const fn` as well as function pointer casts to be performed inside a `const fn`. Both of these were allowed in constants and statics already. Notably, this does **not** allow users to invoke function pointers in a const context. Presumably, we will use a nicer name for that (`const_fn_ptr`?). r? @oli-obk
Add doc alias for iterator fold fold is known in python and javascript as reduce, not sure about inject but it was written in doc there. This was my first confusion when coming into rust, I somehow cannot find where is reduce, sometimes I still forget that it is known as `fold`.
fix building libstd for Miri on macOS Fixes a Miri regression introduced by rust-lang#75295 Cc @tmiasko @Amanieu
…anieu Update unstable-book: Fix ABNF in inline assembly docs r? @Amanieu
📌 Commit d9c1192 has been approved by |
☀️ Test successful - checks-actions, checks-azure |
📣 Toolstate changed by #77302! Tested on commit fc2daaa. 💔 miri on windows: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung). |
Tested on commit rust-lang/rust@fc2daaa. Direct link to PR: <rust-lang/rust#77302> 💔 miri on windows: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung). 💔 miri on linux: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung). 💔 rls on windows: test-pass → build-fail (cc @Xanewok). 💔 rls on linux: test-pass → build-fail (cc @Xanewok).
Successful merges:
#[rustc_allow_const_fn_ptr]
and add#![feature(const_fn_fn_ptr_basics)]
#77170 (Remove#[rustc_allow_const_fn_ptr]
and add#![feature(const_fn_fn_ptr_basics)]
)Failed merges:
r? @ghost