A4-Tacks
a068ef86e3
Fix parentheses for missing_unsafe
...
I seem unable to use `Expr::needs_parens*` to complete it
Example
---
```rust
static mut STATIC_MUT: u8 = 0;
fn foo() -> u8 {
STATIC_MUT$0 * 2
}
```
**Before this PR**:
```rust
static mut STATIC_MUT: u8 = 0;
fn foo() -> u8 {
unsafe { STATIC_MUT } * 2
}
```
**After this PR**:
```rust
static mut STATIC_MUT: u8 = 0;
fn foo() -> u8 {
(unsafe { STATIC_MUT }) * 2
}
```
2025-10-05 14:02:49 +08:00
Shoyu Vanilla (Flint)
a56e57752f
Merge pull request #20748 from A4-Tacks/migrate-arith-op-prec
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Migrate `replace_arith_op` assist to use `SyntaxEditor`
2025-09-26 09:05:59 +00:00
Shoyu Vanilla (Flint)
62809824ad
Merge pull request #20599 from A4-Tacks/bang-de-morgan
...
Add applicable on bang `!` for apply_demorgan
2025-09-26 08:58:07 +00:00
A4-Tacks
918d3b8175
Migrate replace_arith_op assist to use SyntaxEditor
2025-09-26 16:54:47 +08:00
Shoyu Vanilla (Flint)
6135c07683
Merge pull request #20611 from A4-Tacks/replace-arith-op-prec
...
Fix precedence parenthesis for replace_arith_op
2025-09-26 08:30:46 +00:00
Shoyu Vanilla (Flint)
084c1e537d
Merge pull request #20604 from A4-Tacks/cfg-attr-comp
...
Add cfg_attr predicate completion
2025-09-26 08:10:25 +00:00
Shoyu Vanilla (Flint)
a55e2b578c
Merge pull request #20729 from A4-Tacks/const-param-kwd
...
Add const parameter keyword completion
2025-09-26 07:00:52 +00:00
Shoyu Vanilla (Flint)
e81202c919
Merge pull request #20731 from A4-Tacks/expand-rest-pat-in-tuple-slice-pat
...
Fix expand rest pattern in tuple and slice pattern
2025-09-26 06:54:30 +00:00
A4-Tacks
6d85fd739f
Fix expand rest pattern in tuple and slice pattern
...
Assist: expand_tuple_rest_pattern
Fills fields by replacing rest pattern in tuple patterns.
Example
---
```
fn foo(bar: (char, i32, i32)) {
let (ch, ..$0) = bar;
}
```
->
```
fn foo(bar: (char, i32, i32)) {
let (ch, _1, _2) = bar;
}
```
---
Assist: expand_slice_rest_pattern
Fills fields by replacing rest pattern in slice patterns.
Example
---
```
fn foo(bar: [i32; 3]) {
let [first, ..$0] = bar;
}
```
->
```
fn foo(bar: [i32; 3]) {
let [first, _1, _2] = bar;
}
```
2025-09-26 14:44:05 +08:00
Shoyu Vanilla (Flint)
997f3ec544
Merge pull request #20598 from A4-Tacks/let-chain-sup-conv-to-guarded-ret
...
Add let-chain support for convert_to_guarded_return
2025-09-26 06:42:10 +00:00
Shoyu Vanilla (Flint)
a96d92e9e9
Merge pull request #20736 from A4-Tacks/fix-invert-if-let-chain
...
Fix applicable on if-let-chain for invert_if
2025-09-26 05:36:52 +00:00
Shoyu Vanilla (Flint)
750d566106
Merge pull request #20742 from A4-Tacks/unused-raw-var
...
Fix fixes for unused raw variables
2025-09-26 05:25:09 +00:00
A4-Tacks
3964af7bf6
Add applicable in closure for convert_to_guarded_return
...
Example
---
```rust
fn main() {
let _f = || {
bar();
if$0 true {
foo();
// comment
bar();
}
}
}
```
->
```rust
fn main() {
let _f = || {
bar();
if false {
return;
}
foo();
// comment
bar();
}
}
```
2025-09-25 22:04:53 +08:00
A4-Tacks
4e3b6b38dd
Fix not applicable for if-expr in let-stmt
...
Example
---
```rust
fn main() {
let _x = loop {
if$0 let Ok(x) = Err(92) {
foo(x);
}
};
}
```
**Before**:
Assist not applicable
**After**:
```rust
fn main() {
let _x = loop {
let Ok(x) = Err(92) else { continue };
foo(x);
};
}
```
2025-09-25 22:00:56 +08:00
A4-Tacks
a98da9f795
Add let-chain support for convert_to_guarded_return
...
- And add early expression `None` in function `Option` return
Example
---
```rust
fn main() {
if$0 let Ok(x) = Err(92)
&& x < 30
&& let Some(y) = Some(8)
{
foo(x, y);
}
}
```
->
```rust
fn main() {
let Ok(x) = Err(92) else { return };
if x >= 30 {
return;
}
let Some(y) = Some(8) else { return };
foo(x, y);
}
```
2025-09-25 21:04:48 +08:00
A4-Tacks
4353624cc0
Fix fixes for unused raw variables
...
Example
---
```
fn main() {
let $0r#type = 2;
}
```
**Before this PR**:
```rust
fn main() {
let _r#type = 2;
}
```
**After this PR**:
```rust
fn main() {
let _type = 2;
}
```
2025-09-25 19:58:45 +08:00
Shoyu Vanilla (Flint)
84e87d5bba
Merge pull request #20738 from jackh726/next-trait-solver-next4
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Remove non-ns version of impl_self_ty and impl_trait
2025-09-25 10:30:54 +00:00
Shoyu Vanilla (Flint)
7ae5f2df12
Merge pull request #20735 from itsjunetime/fix_scip_salsa
...
fix SCIP panicking due to salsa not attaching
2025-09-25 10:30:12 +00:00
Laurențiu Nicola
c76e47e26f
Merge pull request #20740 from rust-lang/rustc-pull
...
Rustc pull update
2025-09-25 08:06:08 +00:00
Laurențiu Nicola
2e22e945a0
Install cargo for proc-macro-srv tests
2025-09-25 10:54:58 +03:00
Laurențiu Nicola
dc2096c25e
Also install rustfmt on stable
2025-09-25 10:19:23 +03:00
The rustc-josh-sync Cronjob Bot
f69f3a6e01
Merge ref 'caccb4d0368b' from rust-lang/rust
...
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: caccb4d0368bd918ef6668af8e13834d07040417
Filtered ref: 0f345ed05d
Upstream diff: 21a19c297d...caccb4d036
This merge was created using https://github.com/rust-lang/josh-sync .
2025-09-25 04:16:26 +00:00
The rustc-josh-sync Cronjob Bot
8030da1ea6
Prepare for merging from rust-lang/rust
...
This updates the rust-version file to caccb4d0368bd918ef6668af8e13834d07040417.
2025-09-25 04:11:22 +00:00
itsjunetime
01b2eff275
fix SCIP panicking due to salsa not attaching
2025-09-24 18:47:36 -05:00
bors
0f345ed05d
Auto merge of #146999 - matthiaskrgr:rollup-0gbkm82, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- rust-lang/rust#146711 (fix 2 borrowck issues)
- rust-lang/rust#146857 (revert change removing `has_infer` check. Commit conservatively patch…)
- rust-lang/rust#146897 (fix ICE in rustdoc::invalid_html_tags)
- rust-lang/rust#146915 (Make missed precondition-free float intrinsics safe)
- rust-lang/rust#146932 (Switch next-solver related rustc dependencies of r-a to crates.io ones)
- rust-lang/rust#146959 (temporary-lifetime-extension-tuple-ctor.rs: make usable on all editions)
- rust-lang/rust#146964 (library: std: sys: pal: uefi: Add some comments)
- rust-lang/rust#146969 (const-eval: better wording for errors involving maybe-null pointers)
r? `@ghost`
`@rustbot` modify labels: rollup
2025-09-24 18:35:58 +00:00
Matthias Krüger
9c32980df6
Rollup merge of #146969 - RalfJung:maybe-null-errors, r=oli-obk
...
const-eval: better wording for errors involving maybe-null pointers
Fixes https://github.com/rust-lang/rust/issues/146748
r? ``@oli-obk``
2025-09-24 20:34:31 +02:00
Matthias Krüger
cc99b4561f
Rollup merge of #146964 - Ayush1325:close-protocol, r=joboet
...
library: std: sys: pal: uefi: Add some comments
I seemed to have forgotten that since I am using GET_PROTOCOL attribute for the std usecases, I did not need to close the protocols explicitly. So adding these comments as a note to future self not to waste time on the same thing again.
2025-09-24 20:34:31 +02:00
Matthias Krüger
5f397386b3
Rollup merge of #146959 - tshepang:patch-2, r=nnethercote
...
temporary-lifetime-extension-tuple-ctor.rs: make usable on all editions
Also
- add Reference id
- fix typo
2025-09-24 20:34:29 +02:00
Matthias Krüger
4a79d99d1c
Rollup merge of #146932 - ShoyuVanilla:ra-in-tree-hack, r=lcnr
...
Switch next-solver related rustc dependencies of r-a to crates.io ones
r? ``@ghost``
cc ``@lnicola`` ``@lcnr``
2025-09-24 20:34:25 +02:00
Matthias Krüger
07b34d11a3
Rollup merge of #146711 - lcnr:fix-placeholder-ice, r=lqd
...
fix 2 borrowck issues
fixes https://github.com/rust-lang/rust/issues/146467 cc ``@amandasystems``
our understanding here is as follows: region constraints from computing implied bounds gets `ConstraintCategory::Internal`. If there's a higher-ranked subtyping errors while computing implied bounds we then ended up with only `ConstraintCategory::Internal` and `ConstraintCategory::OutlivesUnnameablePlaceholder(_)` constraints.
The path was something like
- `'placeholderU2: 'placeholderU1` (`Internal`)
- `'placeholderU1: 'static` (`OutlivesUnnameablePlaceholder('placeholderU2)`)
It's generally somewhat subtle here as ideally relating placeholders doesn't introduce `'static` constraints. Relating the placeholders themselves will always error regardless, cc https://github.com/rust-lang/rust/pull/142623 .
---
separately fixes https://github.com/rust-lang/rust/pull/145925#issuecomment-3303733357 by updating the location for deferred closure requirements inside of promoteds. I am not updating their category as doing so is 1) effort and 2) imo actually undesirable 🤔 see the comments in `TypeChecker::check_promoted` cc ``@lqd``
r? lqd
2025-09-24 20:34:19 +02:00
Chayim Refael Friedman
bbb6459dc4
Merge pull request #20721 from ChayimFriedman2/fix-never
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: Implement fallback properly
2025-09-24 18:16:15 +00:00
Chayim Refael Friedman
6b133c6b1b
Implement fallback properly
...
fallback.rs was ported straight from rustc (minus the lint parts).
This fixes the `!` regressions.
2025-09-24 20:42:06 +03:00
Chayim Refael Friedman
993db83afd
Merge pull request #20683 from regexident/inference-result-types-iter
...
Expose iterators over an inference result's types
2025-09-24 17:12:33 +00:00
bors
529d6da73b
Auto merge of #146338 - CrooseGit:dev/reucru01/AArch64-enable-GCS, r=Urgau,davidtwco
...
Extends AArch64 branch protection support to include GCS
Extends existing support for AArch64 branch protection to include support for [Guarded Control Stacks](https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-2022#guarded-control-stack-gcs:~:text=Extraction%20or%20tracking.-,Guarded%20Control%20Stack%20(GCS),-With%20the%202022 ).
2025-09-24 13:04:19 +00:00
Shoyu Vanilla
fbfb2617ad
Switch next-solver related rustc dependencies of r-a to crates.io ones
2025-09-24 21:28:50 +09:00
A4-Tacks
39ef6c28eb
Fix applicable on if-let-chain for invert_if
...
Example
---
```rust
fn f() { i$0f x && let Some(_) = Some(1) { 1 } else { 0 } }
```
**Before this PR**:
```rust
fn f() { if !(x && let Some(_) = Some(1)) { 0 } else { 1 } }
```
**After this PR**:
Assist not applicable
2025-09-24 14:36:09 +08:00
jackh726
6a458880fd
Remove non-ns version of impl_self_ty and impl_trait
2025-09-24 05:45:12 +00:00
Shoyu Vanilla (Flint)
4d4a1dd464
Merge pull request #20733 from jackh726/next-trait-solver-next3
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Convert more things from chalk to next solver
2025-09-24 04:52:28 +00:00
Jack Huey
7a6df720c4
Be sure to instantiate and pass up trait refs in named_associated_type_shorthand_candidates
2025-09-23 16:27:04 -04:00
Jack Huey
ea48563951
Remove all non-ns diagnostics queries, naming consistenly
2025-09-23 16:27:03 -04:00
Jack Huey
cc7c061e34
Use lower_nextsolver::callable_item_signature instead of lower::callable_item_signature
2025-09-23 16:26:46 -04:00
Shoyu Vanilla (Flint)
905641f352
Merge pull request #20543 from sgasho/fix/19443_replace_match_with_if_let
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Fix "Replace match with if let" not to trigger when invalid transformations occur
2025-09-23 09:46:37 +00:00
Vincent Esche
7e9abceee7
Expose iterators over an inference result's types
...
(This re-introduces a reduced access to a couple of previously public fields on `InferenceResult`)
2025-09-23 11:39:40 +02:00
Jack Huey
73a401301d
Remove lower::value_ty in favor of lower_nextsolver::value_ty
2025-09-23 03:58:51 -04:00
Jack Huey
3089d23710
Remove lower::ty in favor of lower_nextsolver::ty
2025-09-23 03:58:51 -04:00
Shoyu Vanilla (Flint)
f6cf3035c3
Merge pull request #20730 from A4-Tacks/migrate-expand-rest-pat
...
Migrate `expand_record_rest_pattern` assist to use `SyntaxEditor`
2025-09-23 07:05:22 +00:00
Shoyu Vanilla (Flint)
7804a2dd67
Merge pull request #20728 from jackh726/next-trait-solver-next2
...
Use ParamEnv in TraitEnvironment
2025-09-23 07:01:45 +00:00
A4-Tacks
258776b63a
Migrate expand_record_rest_pattern assist to use SyntaxEditor
...
Because `add_field` uses `ted`
2025-09-23 12:14:14 +08:00
A4-Tacks
b39c7a892f
Add const parameter keyword completion
...
Example
---
```rust
fn foo<c$0>() {}
```
->
```rust
fn foo<const $1: $0>() {}
```
2025-09-23 11:26:52 +08:00
Jack Huey
34f773f596
Use ParamEnv in TraitEnvironment
2025-09-23 00:04:57 +00:00