Open
Conversation
Example
---
```rust
trait Trait {
fn f() -> Self;
}
struct Foo<'a>(&'a ());
impl<'a> Trait for Foo<'a> {
fn f() -> Self { Self(&()) }
}
impl Foo<'_> {
fn new() -> Self {
Self::$0f()
}
}
```
**Before this PR**
```rust
trait Trait {
fn f() -> Self;
}
struct Foo<'a>(&'a ());
impl<'a> Trait for Foo<'a> {
fn f() -> Self { Self(&()) }
}
impl Foo<'_> {
fn new() -> Self {
Foo<'a>(&())
}
}
```
**After this PR**
```rust
trait Trait {
fn f() -> Self;
}
struct Foo<'a>(&'a ());
impl<'a> Trait for Foo<'a> {
fn f() -> Self { Self(&()) }
}
impl Foo<'_> {
fn new() -> Self {
Foo(&())
}
}
```
Example
---
```rust
fn foo() {}
fn bar() {
let _ = [fo$0];
}
```
**Before this PR**
```rust
fn foo() {}
fn bar() {
let _ = [foo();$0];
}
```
**After this PR**
```rust
fn foo() {}
fn bar() {
let _ = [foo()$0];
}
```
…r items that will resolve with the after segments
Example
---
```rust
#[derive(Clo$0ne)]
struct Foo<T: core::ops::Deref>(T::Target);
```
**Before this PR**
```rust
struct Foo<T: core::ops::Deref>(T::Target);
impl<T: core::ops::Deref + Clone> Clone for Foo<T> {
$0fn clone(&self) -> Self {
Self(self.0.clone())
}
}
```
**After this PR**
```rust
struct Foo<T: core::ops::Deref>(T::Target);
impl<T: core::ops::Deref + Clone> Clone for Foo<T>
where T::Target: Clone
{
$0fn clone(&self) -> Self {
Self(self.0.clone())
}
}
```
Example
---
```rust
fn fn_$0(
attrs: impl IntoIterator<Item = ast::Attr>,
visibility: Option<ast::Visibility>,
fn_name: ast::Name,
type_params: Option<ast::GenericParamList>,
where_clause: Option<ast::WhereClause>,
params: ast::ParamList,
body: ast::BlockExpr,
ret_type: Option<ast::RetType>,
is_async: bool,
is_const: bool,
is_unsafe: bool,
is_gen: bool,
) -> ast::Fn {}
```
**Before this PR**
```rust
fn fn_(attrs: impl IntoIterator<Item = ast::Attr>, visibility: Option<ast::Visibility>, fn_name: ast::Name, type_params: Option<ast::GenericParamList>, where_clause: Option<ast::WhereClause>, params: ast::ParamList, body: ast::BlockExpr, ret_type: Option<ast::RetType>, is_async: bool, is_const: bool, is_unsafe: bool, is_gen: bool) -> ast::Fn
```
**After this PR**
```rust
fn fn_(
attrs: impl IntoIterator<Item = ast::Attr>,
visibility: Option<ast::Visibility>,
fn_name: ast::Name,
type_params: Option<ast::GenericParamList>,
where_clause: Option<ast::WhereClause>,
params: ast::ParamList,
body: ast::BlockExpr,
ret_type: Option<ast::RetType>,
is_async: bool,
is_const: bool,
is_unsafe: bool,
is_gen: bool
) -> ast::Fn
```
fix: Fix `set_top_subtree_delimiter_span` using wrong index for close span
…-getters-and-setters-handler migrate getters and setters handler to SyntaxEditor
feat: When autoimporting a segment followed by other segments, only consider items that will resolve with the after segments
Currently clippy is run in CI as part of the macOS build. This is a little confusing, because clippy failures just show as "Rust (macos-latest)" which make it look like a macOS build failure. Instead, treat clippy as a separate build step, like miri and rustfmt. This should also make CI a little faster, because it reduces macOS runner usage (which tend to be slower than Linux on GitHub actions), and it reduces the number of steps where we need to install clippy.
Add `expression_types()`, `pattern_types()`, `binding_types()` to `DefWithBody`
fix: Sync `allow_normalization` to rustc
…bounds fix: Fix loses associated bounds for replace_derive_with_manual_impl
…-named-lifetime migrate introduce_named_lifetime assist to SyntaxEditor
…-destructure-tuple-binding-to-syntaxeditor Migrate destructure tuple binding assist to syntaxEditor
internal: Run clippy as a separate CI step
…htly-for-miri-workflow Pin nightly for miri workflow
…olvxuourwru Revert "feat: Implement fine grained client side request cancellation support"
internal: Use rayon for proc-macro loading
Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2. - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](ljharb/qs@v6.14.1...v6.14.2) --- updated-dependencies: - dependency-name: qs dependency-version: 6.14.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
minor: Remove incorrect warning log
This reverts commit 2cefe47e6d55c186b68687bf677bf0d5eb65a922.
Revert "fix: Stale diagnostics with rust-project.json and rustc JSON"
…yarn/editors/code/qs-6.14.2 build(deps): bump qs from 6.14.1 to 6.14.2 in /editors/code
the command 'cargo build --no-default-features --features borsh' failed with:
error[E0599]: no function or associated item named 'other' found for struct 'borsh::io::Error' in the current scope
--> lib/smol_str/src/borsh.rs:33:39
|
33 | .ok_or_else(|| Error::other("u8::vec_from_reader unexpectedly returned None"))?;
| ^^^^^ function or associated item not found in 'borsh::io::Error'
|
the standalone `contains_explicit_ref_binding` function only checked for `BindingAnnotation::Ref`, missing `BindingAnnotation::RefMut`. this caused `let ref mut x = expr` to incorrectly take the coercion path instead of preserving the exact type of the rhs expression. the method version used for match arms already handles both `Ref` and `RefMut` correctly.
…icit-ref-binding-missing-refmut fix: handle `ref mut` bindings in `contains_explicit_ref_binding`
the rhs of an ordinary assignment `x = *never_ptr` was inferred with `ExprIsRead::No`, which prevented `NeverToAny` coercion for place expressions of type `!`. this caused false type mismatches and missing divergence detection. the destructuring assignment path and let binding path both correctly use `ExprIsRead::Yes` for the rhs value, since the value is always consumed (read). this makes the ordinary assignment path consistent with both.
…s-never-coercion fix: use `ExprIsRead::Yes` for rhs of ordinary assignments
…mpilation-failure fix smol_str compilation error
This updates the rust-version file to 1396514.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@1396514 Filtered ref: rust-lang/rust-analyzer@3efb0c2 Upstream diff: rust-lang/rust@ba284f4...1396514 This merge was created using https://github.com/rust-lang/josh-sync.
minor: Rustc pull update
…-generate-impl-to-use-astnodeedit migrate generate_impl assist to use AstNodeEdit
Collaborator
|
rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead. cc @rust-lang/rust-analyzer |
Member
Author
|
@bors r+ p=1 |
Contributor
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Feb 16, 2026
`rust-analyzer` subtree update Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@c97b011. Created using https://github.com/rust-lang/josh-sync. r? @ghost
rust-bors bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
…uwer Rollup of 6 pull requests Successful merges: - #152700 (miri subtree update) - #152715 (`rust-analyzer` subtree update) - #152609 (Install LLVM DLL in the right place on Windows) - #152206 (misc doc improvements) - #152664 (Fix mis-constructed `file_span` when generating scraped examples) - #152698 (Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`)
rust-bors bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
…uwer Rollup of 6 pull requests Successful merges: - #152700 (miri subtree update) - #152715 (`rust-analyzer` subtree update) - #152609 (Install LLVM DLL in the right place on Windows) - #152206 (misc doc improvements) - #152664 (Fix mis-constructed `file_span` when generating scraped examples) - #152698 (Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`)
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.
Subtree update of
rust-analyzerto rust-lang/rust-analyzer@c97b011.Created using https://github.com/rust-lang/josh-sync.
r? @ghost