-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
rust-analyzer subtree update
#150015
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
rust-analyzer subtree update
#150015
Conversation
Fixes:
- loses label for `convert_while_to_loop` and `convert_for_to_while_let`
- loses attributes for `convert_while_to_loop` and `convert_for_to_while_let`
- bad indent for `convert_while_to_loop`
Examples
---
```rust
fn main() {
#[allow(unused)]
#[deny(unsafe_code)]
'a: while$0 let Some(x) = cond {
foo();
break 'a;
}
}
```
**Before this PR**:
```rust
fn main() {
loop {
if let Some(x) = cond {
foo();
break 'a;
} else {
break;
}
}
}
```
**After this PR**:
```rust
fn main() {
#[allow(unused)]
#[deny(unsafe_code)]
'a: loop {
if let Some(x) = cond {
foo();
break 'a;
} else {
break;
}
}
}
```
---
```rust
fn main() {
let mut x = vec![1, 2, 3];
#[allow(unused)]
#[deny(unsafe_code)]
'a: for $0v in x {
v *= 2;
break 'a;
};
}
```
**Before this PR**:
```rust
fn main() {
let mut x = vec![1, 2, 3];
let mut tmp = x.into_iter();
while let Some(v) = tmp.next() {
v *= 2;
break 'a;
};
}
```
**After this PR**:
```rust
fn main() {
let mut x = vec![1, 2, 3];
let mut tmp = x.into_iter();
#[allow(unused)]
#[deny(unsafe_code)]
'a: while let Some(v) = tmp.next() {
v *= 2;
break 'a;
};
}
```
- Add `make::untyped_param`
- Add some basic make tests
Example
---
```rust
make::unnamed_param(make::ty("Vec<T>")),
```
**Before this PR**
```text
PARAM@0..4
IDENT_PAT@0..4
NAME@0..4
IDENT@0..4 "Vec"
```
**After this PR**
```text
PARAM@0..6
PATH_TYPE@0..6
PATH@0..6
PATH_SEGMENT@0..6
NAME_REF@0..3
IDENT@0..3 "Vec"
GENERIC_ARG_LIST@3..6
L_ANGLE@3..4 "<"
TYPE_ARG@4..5
PATH_TYPE@4..5
PATH@4..5
PATH_SEGMENT@4..5
NAME_REF@4..5
IDENT@4..5 "T"
R_ANGLE@5..6 ">"
```
---
Assist: `Generate a type alias for function with unnamed params`
```rust
fn foo$0(x: Vec<i32>) {}
```
**Before this PR**
```rust
type FooFn = fn(Vec);
fn foo(x: Vec<i32>) {}
```
**After this PR**
```rust
type FooFn = fn(Vec<i32>);
fn foo(x: Vec<i32>) {}
```
Example
---
```rust
mod indent {
#[test$0]
fn test() {}
}
```
**Before this PR**
```rust
mod indent {
#[test]
#[ignore]
fn test() {}
}
```
And re-enable
```rust
mod indent {
#[test]
fn test() {}
}
```
**After this PR**
```rust
mod indent {
#[test]
#[ignore]
fn test() {}
}
```
Operators were explicitly filtered out, both when filtering tokens to search definitions for and when searching for actual definitions.
Bumps and [jws](https://github.com/brianloveswords/node-jws). These dependencies needed to be updated together. Updates `jws` from 3.2.2 to 3.2.3 - [Release notes](https://github.com/brianloveswords/node-jws/releases) - [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md) - [Commits](auth0/node-jws@v3.2.2...v3.2.3) Updates `jws` from 4.0.0 to 4.0.1 - [Release notes](https://github.com/brianloveswords/node-jws/releases) - [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md) - [Commits](auth0/node-jws@v3.2.2...v3.2.3) --- updated-dependencies: - dependency-name: jws dependency-version: 3.2.3 dependency-type: indirect - dependency-name: jws dependency-version: 4.0.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Example
---
```rust
fn main() {
let foobar = 1;
format_args!("{{{f$0");
}
```
**Before this PR**
No complete
**After this PR**
```rust
fn main() {
let foobar = 1;
format_args!("{{{foobar");
}
```
---
```rust
fn main() {
let foo_bar = 1;
format_args!("{foo_$0}");
}
```
**Before this PR**
No complete
**After this PR**
```rust
fn main() {
let foo_bar = 1;
format_args!("{foo_bar}");
}
```
Example
---
```rust
//- /main.rs
mod foo;
fn main() {
foo::Foo::Variant { bar: 3, $0baz: false};
}
//- /foo.rs
pub enum Foo {
Variant {
bar: i32
}
}
```
**Before this PR**
```rust
pub enum Foo {
Variant {
bar: i32,
pub(crate) baz: bool
}
}
```
**After this PR**
```rust
pub enum Foo {
Variant {
bar: i32,
baz: bool
}
}
```
…delegate_trait internal: migrate `generate_delegate_trait` to SyntaxEditor api
…ter_for_each_to_for internal: migrate `convert_iter_for_each_to_for` to SyntaxEditor api
Fix pub in enum variant field for no_such_field
…yarn/editors/code/multi-d0f6e8601e Bump jws in /editors/code
internal: Do not create stale expressions in body lowering
Remove `[no-mentions]` handler in our triagebot config
…ait-generic-args fix: fixed Impl display to show trait generic args
…-fmt-str
Fix not complete `format!("{{{$0")` and underscore
Fix make::unnamed_param result a untyped_param
…aram-env-panic fix: resolve const generic param-env panic in type projection
To prevent it from clashing with other names.
internal: Use a generated name in old format_args lowering, instead of `args`
Example
---
```rust
fn foo() {
let _ = |$0x| 2;
}
```
**Before this PR**
```rust
fn foo() {
let _ = x;
let _ = |x| 2;
}
```
**After this PR**
Assist not applicable
Reverse the order of returned lint attributes for a `SyntaxNode` to match rustc's behavior. When multiple lint attributes are present, rustc overrides earlier ones with the last defined attribute. The previous iteration order was incorrect, causing earlier attributes to override the later ones.
fix(lsp): handle dynamic registration for didSave
minor: Emit `WorkspaceDiagnosticRefresh` when flycheck finished
…icable-on-closure Fix bind_unused_param applicable on closure
internal: Give `FileSymbol` it's `'db` lifetime
fix: respect rustc's lint attribute application order
This updates the rust-version file to 0208ee0.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 0208ee0 Filtered ref: 69b2702db74151cd410a028fb347c6e4e3f779dc Upstream diff: rust-lang/rust@dfe1b8c...0208ee0 This merge was created using https://github.com/rust-lang/josh-sync.
minor: Rustc pull update
|
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 |
|
@bors r+ p=1 subtree sync |
|
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing ee44706 (parent) -> 0160933 (this PR) Test differencesShow 48 test diffsStage 0
Stage 1
Additionally, 2 doctest diffs were found. These are ignored, as they are noisy. Job group index Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 0160933b1dd9547d46542b0ceedda00c37890c6d --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (0160933): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -6.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -3.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 478.788s -> 480.115s (0.28%) |
Subtree update of
rust-analyzerto rust-lang/rust-analyzer@3d78b3f.Created using https://github.com/rust-lang/josh-sync.
r? @ghost