Skip to content

Commit 16644ba

Browse files
authored
Merge pull request rust-lang#19261 from Veykril/push-rnqlyrvqpols
Support tuple struct patterns for expand_rest_pattern assist
2 parents 73e0fe1 + c315ad9 commit 16644ba

File tree

8 files changed

+496
-293
lines changed

8 files changed

+496
-293
lines changed

src/tools/rust-analyzer/crates/hir/src/lib.rs

+2
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ pub enum ModuleDef {
296296
Function(Function),
297297
Adt(Adt),
298298
// Can't be directly declared, but can be imported.
299+
// FIXME: Rename to `EnumVariant`
299300
Variant(Variant),
300301
Const(Const),
301302
Static(Static),
@@ -1564,6 +1565,7 @@ impl From<&Variant> for DefWithBodyId {
15641565
}
15651566
}
15661567

1568+
// FIXME: Rename to `EnumVariant`
15671569
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
15681570
pub struct Variant {
15691571
pub(crate) id: EnumVariantId,

src/tools/rust-analyzer/crates/ide-assists/src/handlers/explicit_enum_discriminant.rs renamed to src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_explicit_enum_discriminant.rs

+13-10
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use syntax::{ast, AstNode};
88

99
use crate::{AssistContext, Assists};
1010

11-
// Assist: explicit_enum_discriminant
11+
// Assist: add_explicit_enum_discriminant
1212
//
1313
// Adds explicit discriminant to all enum variants.
1414
//
@@ -29,7 +29,10 @@ use crate::{AssistContext, Assists};
2929
// Quux = 43,
3030
// }
3131
// ```
32-
pub(crate) fn explicit_enum_discriminant(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> {
32+
pub(crate) fn add_explicit_enum_discriminant(
33+
acc: &mut Assists,
34+
ctx: &AssistContext<'_>,
35+
) -> Option<()> {
3336
let enum_node = ctx.find_node_at_offset::<ast::Enum>()?;
3437
let enum_def = ctx.sema.to_def(&enum_node)?;
3538

@@ -50,7 +53,7 @@ pub(crate) fn explicit_enum_discriminant(acc: &mut Assists, ctx: &AssistContext<
5053
}
5154

5255
acc.add(
53-
AssistId("explicit_enum_discriminant", AssistKind::RefactorRewrite),
56+
AssistId("add_explicit_enum_discriminant", AssistKind::RefactorRewrite),
5457
"Add explicit enum discriminants",
5558
enum_node.syntax().text_range(),
5659
|builder| {
@@ -88,12 +91,12 @@ fn add_variant_discriminant(
8891
mod tests {
8992
use crate::tests::{check_assist, check_assist_not_applicable};
9093

91-
use super::explicit_enum_discriminant;
94+
use super::add_explicit_enum_discriminant;
9295

9396
#[test]
9497
fn non_primitive_repr_non_data_bearing_add_discriminant() {
9598
check_assist(
96-
explicit_enum_discriminant,
99+
add_explicit_enum_discriminant,
97100
r#"
98101
enum TheEnum$0 {
99102
Foo,
@@ -120,7 +123,7 @@ enum TheEnum {
120123
#[test]
121124
fn primitive_repr_data_bearing_add_discriminant() {
122125
check_assist(
123-
explicit_enum_discriminant,
126+
add_explicit_enum_discriminant,
124127
r#"
125128
#[repr(u8)]
126129
$0enum TheEnum {
@@ -145,7 +148,7 @@ enum TheEnum {
145148
#[test]
146149
fn non_primitive_repr_data_bearing_not_applicable() {
147150
check_assist_not_applicable(
148-
explicit_enum_discriminant,
151+
add_explicit_enum_discriminant,
149152
r#"
150153
enum TheEnum$0 {
151154
Foo,
@@ -159,7 +162,7 @@ enum TheEnum$0 {
159162
#[test]
160163
fn primitive_repr_non_data_bearing_add_discriminant() {
161164
check_assist(
162-
explicit_enum_discriminant,
165+
add_explicit_enum_discriminant,
163166
r#"
164167
#[repr(i64)]
165168
enum TheEnum {
@@ -184,7 +187,7 @@ enum TheEnum {
184187
#[test]
185188
fn discriminants_already_explicit_not_applicable() {
186189
check_assist_not_applicable(
187-
explicit_enum_discriminant,
190+
add_explicit_enum_discriminant,
188191
r#"
189192
enum TheEnum$0 {
190193
Foo = 0,
@@ -197,7 +200,7 @@ enum TheEnum$0 {
197200
#[test]
198201
fn empty_enum_not_applicable() {
199202
check_assist_not_applicable(
200-
explicit_enum_discriminant,
203+
add_explicit_enum_discriminant,
201204
r#"
202205
enum TheEnum$0 {}
203206
"#,

0 commit comments

Comments
 (0)