Repository navigation
Rollup of 24 pull requests - #165038
Closed
JonathanBrouwer wants to merge 76 commits into
Closed
Rollup of 24 pull requests#165038JonathanBrouwer wants to merge 76 commits into
JonathanBrouwer wants to merge 76 commits into
Conversation
ICX was bumped to 2026.2 on this image which broke the path lookup
…er-bump Fix CI by updating icx path
Stabilize LoongArch64 SIMD Intrinsics
Previously, expressions behind stmt_expr_attributes were only rejected when the cfg condition evaluated to false. If the condition was true, the code compiled successfully. This meant code like an attributed binary operand could compile on one platform but fail on another, even though removing the operand would leave an invalid expression. This change always rejects cfg in expression positions where removing the expression would produce invalid code. Expression positions where removal is safe continue to work as before. Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
```
error[E0310]: the parameter type `R` may not live long enough
--> $DIR/implicit-static-lifetime-in-dyn-trait-return-type.rs:10:5
|
LL | fn bb<R>(r: R) -> Box<dyn Foo> {
| ------- this `dyn Trait` has an implicit `'static` lifetime bound 3
LL | Box::new(Bar(r))
| ^^^^^^^^^^^^^^^^
| |
| the parameter type `R` must be valid for the static lifetime...
| ...so that the type `R` will meet its required lifetime bounds
|
help: consider adding an explicit lifetime bound
|
LL | fn bb<R: 'static>(r: R) -> Box<dyn Foo> {
| +++++++++
help: consider adding an explicit lifetime bound
|
LL | fn bb<'a, R>(r: R) -> Box<dyn Foo + 'a> {
| +++ ++++
```
This avoids the unsoundness-hazard of using `&'ll mut` to represent an owning pointer that typically does not live for as long as its enclosing context.
The SimpleCx type contains references tied to the lifetime of the LLVM context, but the SimpleCx itself has a shorter lifetime.
This commit changes the type of LLVM context references from `&'ll Context` to a dedicated newtype struct `Context<'ll>` with an invariant lifetime brand. The current usage of `&'ll Context` is not sound, because covariance in `'ll` allows different contexts to be mixed in ways that the underlying bindings are not prepared to handle. (Most of the time, mixing contexts is unlikely to happen by accident, but switching to a more-sound API is good maintenance hygiene for these complex bindings.)
Lex and parse emoji in lifetimes, and disallow them in the parser with a hard error. Allow emoji to start a lifetime name even if they are not XID_Start. ``` error: lifetimes cannot contain emoji --> $DIR/emoji-in-lifetime.rs:1:22 | LL | fn bad_lifetime_name<'🐛🐛🐛family👨👩👧👦>( | ^^^^^^^^^^^^^^^^^^^^^ ``` Unify lifetime and identifier parsing. Use `bad_unicode_identifiers` for lifetimes.
During work on PR 164772 [1], I've noticed another tiny inconsistency in doc code examples: `HashMap`'s `Entry::insert_entry()`'s doc code example did not have an assertion where `BTreeMap`'s `Entry::insert_entry()`'s docs did. I've added an assertion where it was missing. [1] rust-lang#164772
This function is documented as allowed to continue, which is useful behavior during const eval. Split a new `resumable_breakpoint` intrinsic from `breakpoint` which has the behavior of continuing in Miri and CTFE.
Report the same error for true and false cfg predicates when the surrounding expression cannot be removed. Apply it consistently during normal expansion and cfg_eval. Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
Member
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 27, 2026
Rollup of 24 pull requests try-job: dist-various-1 try-job: test-various try-job: test-x86_64-gnu-aux try-job: test-x86_64-msvc-1 try-job: test-aarch64-apple-1 try-job: test-aarch64-apple-2 try-job: test-x86_64-mingw-1 try-job: test-i686-msvc try-job: test-armhf-gnu try-job: test-x86_64-gnu-llvm-22-3
Contributor
|
This pull request was unapproved due to being closed. |
Contributor
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:
--generate-link-to-definitionrustdoc option on std docs #162808 (Enable--generate-link-to-definitionrustdoc option on std docs)dyn Traitin return type #164188 (Suggest adding lifetime fordyn Traitin return type)falsein root contexts #164345 (fix: handlefalsein root contexts)resumable_breakpointand re-export it instd#164608 (core: Constifyresumable_breakpointand re-export it instd)Selfmapping #164785 (delegation: emit error when there is no field forSelfmapping)strict_methods toNonZero#164848 (Addstrict_methods toNonZero)HashMap's.insert_entry()doc example #165004 (docs: Nitpick change inHashMap's.insert_entry()doc example)Warning
This rollup conflicts with pending auto build #165031 and may need to be recreated if the pending build succeeds.
r? @ghost
Create a similar rollup