Open
Conversation
Assignments to a captured variable within a diverging closure should not be considered unused if the divergence is caught. This patch considers such assignments/captures to be used by diverging closures irrespective of whether the divergence is caught, but better a false negative unused lint than a false positive one (the latter having caused a stable-to-stable regression).
however `Drop` for `VaList` is not yet available in const fn
New float tests in core are failing on clif with issues like the
following:
Undefined symbols for architecture arm64:
"_coshf128", referenced from:
__RNvMNtCshY0fR2o0hOA_3std4f128C4f1284coshCs5TKtJxXQNGL_9coretests in coretests-e38519c0cc90db54.coretests.44b6247a565e10d1-cgu.10.rcgu.o
"_exp2f128", referenced from:
__RNvMNtCshY0fR2o0hOA_3std4f128C4f1284exp2Cs5TKtJxXQNGL_9coretests in coretests-e38519c0cc90db54.coretests.44b6247a565e10d1-cgu.10.rcgu.o
...
Disable f128 math unless the symbols are known to be available, which
for now is only glibc targets. This matches the LLVM backend.
…tgross35 Deduplicated float tests and unified in floats/mod.rs In this PR Float tests are deduplicated and are unified in floats/mod.rs, as discussed in rust-lang#141726. The moved float tests are: -> test_powf -> test_exp -> test_exp2 -> test_ln -> test_log_generic -> test_log2 -> test_log10 -> test_asinh -> test_acosh -> test_atanh -> test_gamma -> test_ln_gamma Closes: rust-lang#141726
…r=RalfJung support c-variadic functions in `rustc_const_eval` tracking issue: rust-lang#44930 The new `GlobalAlloc::VaList` is used to create an `AllocId` that represents the variable argument list of a frame. The allocation itself does not store any data, all we need is the unique identifier. The actual variable argument list is stored in `Memory`, and keyed by the `AllocId`. The `Frame` also stores this `AllocId`, so that when a frame is popped, it can deallocate the variable arguments. At "runtime" a `VaList` value stores a pointer to the global allocation in its first bytes. The provenance on this pointer can be used to retrieve its `AllocId`, and the offset of the pointer is used to store the index of the next argument to read from the variable argument list. Miri does not yet support `va_arg`, but I think that can be done separetely? r? @RalfJung cc @workingjubilee
…d, r=cjgillot Consider captures to be used by closures that unwind Assignments to a captured variable within a diverging closure should not be considered unused if the divergence is caught. This patch considers such assignments/captures to be used by diverging closures irrespective of whether the divergence is caught, but better a false negative unused lint than a false positive one (the latter having caused a stable-to-stable regression). Fixes rust-lang#152079 r? compiler
…ranteed, r=jonathanbrouwer Port `rust_nonnull_optimization_guaranteed` and `rustc_do_not_const_check` to the new attribute parser r? @JonathanBrouwer another two of them :)
…jhpratt Remove timing assertion from `oneshot::send_before_recv_timeout` This test regularly spuriously fails in CI, such as rust-lang#152632 (comment) We can just remove the assertion but I'd like to understand why, so I'm adding more information to the assert
bootstrap: Inline the `is_tool` check for setting `-Zforce-unstable-if-unmarked` `Mode::is_tool` is the sort of method that looks general-purpose, but is only actually used for a very specific purpose, to control the setting of `-Zforce-unstable-if-unmarked`. It is therefore clearer to inline the mode check, which makes it easier to see how the condition affects the result. I have tried to add some comments explaining why we set that flag, but they are based on my own recent investigations, so I'm not 100% confident that they're accurate.
Member
Author
|
@bors r+ rollup=never p=5 |
Contributor
Contributor
|
⌛ Testing commit 84c522a with merge 71e0027... Workflow: https://github.com/rust-lang/rust/actions/runs/22058036690 |
rust-bors bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
Rollup of 6 pull requests Successful merges: - #148206 (Deduplicated float tests and unified in floats/mod.rs) - #150601 (support c-variadic functions in `rustc_const_eval`) - #152103 (Consider captures to be used by closures that unwind) - #152296 (Port `rust_nonnull_optimization_guaranteed` and `rustc_do_not_const_check` to the new attribute parser) - #152648 (Remove timing assertion from `oneshot::send_before_recv_timeout`) - #152686 (bootstrap: Inline the `is_tool` check for setting `-Zforce-unstable-if-unmarked`) Failed merges: - #152512 (core: Implement feature `float_exact_integer_constants`)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Successful merges:
rustc_const_eval#150601 (support c-variadic functions inrustc_const_eval)rust_nonnull_optimization_guaranteedandrustc_do_not_const_checkto the new attribute parser #152296 (Portrust_nonnull_optimization_guaranteedandrustc_do_not_const_checkto the new attribute parser)oneshot::send_before_recv_timeout#152648 (Remove timing assertion fromoneshot::send_before_recv_timeout)is_toolcheck for setting-Zforce-unstable-if-unmarked#152686 (bootstrap: Inline theis_toolcheck for setting-Zforce-unstable-if-unmarked)Failed merges:
float_exact_integer_constants#152512 (core: Implement featurefloat_exact_integer_constants)r? @ghost
Create a similar rollup