Skip to content

Commit 46af7d3

Browse files
committed
fix: match the standard Rust formatting && use .kind() instead of iter
1 parent cd49553 commit 46af7d3

File tree

2 files changed

+23
-33
lines changed

2 files changed

+23
-33
lines changed

crates/hir/src/display.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! HirDisplay implementations for various hir types.
22
use hir_def::{
3-
data::adt::VariantData,
3+
data::adt::{StructKind, VariantData},
44
generics::{
55
TypeOrConstParamData, TypeParamProvenance, WherePredicate, WherePredicateTypeTarget,
66
},
@@ -164,12 +164,9 @@ impl HirDisplay for Struct {
164164
let def_id = GenericDefId::AdtId(AdtId::StructId(self.id));
165165
write_generic_params(def_id, f)?;
166166

167-
let field_is_tuple_index =
168-
self.variant_data(f.db).fields().iter().any(|(_, f)| f.name.as_tuple_index().is_some());
169-
170-
if field_is_tuple_index {
167+
let variant_data = self.variant_data(f.db);
168+
if let StructKind::Tuple = variant_data.kind() {
171169
f.write_char('(')?;
172-
let variant_data = self.variant_data(f.db);
173170
let mut it = variant_data.fields().iter().peekable();
174171

175172
while let Some((id, _)) = it.next() {
@@ -181,14 +178,12 @@ impl HirDisplay for Struct {
181178
}
182179

183180
f.write_str(");")?;
184-
return Ok(());
185181
}
186182

187183
write_where_clause(def_id, f)?;
188184

189-
let fields = self.fields(f.db);
190-
if !fields.is_empty() {
191-
f.write_str("\n{\n")?;
185+
if let StructKind::Record = variant_data.kind() {
186+
f.write_str(" {\n")?;
192187
for field in self.fields(f.db) {
193188
f.write_str(" ")?;
194189
field.hir_fmt(f)?;
@@ -212,7 +207,7 @@ impl HirDisplay for Enum {
212207

213208
let variants = self.variants(f.db);
214209
if !variants.is_empty() {
215-
f.write_str("\n{\n")?;
210+
f.write_str(" {\n")?;
216211
for variant in variants {
217212
f.write_str(" ")?;
218213
variant.hir_fmt(f)?;
@@ -240,7 +235,7 @@ impl HirDisplay for Union {
240235
for field in self.fields(f.db) {
241236
f.write_str(" ")?;
242237
field.hir_fmt(f)?;
243-
f.write_char('\n')?;
238+
f.write_str(",\n")?;
244239
}
245240
f.write_str("}")?;
246241
}

crates/ide/src/hover/tests.rs

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,8 +1136,7 @@ impl Thing {
11361136
```
11371137
11381138
```rust
1139-
struct Thing
1140-
{
1139+
struct Thing {
11411140
x: u32,
11421141
}
11431142
```
@@ -1158,8 +1157,7 @@ impl Thing {
11581157
```
11591158
11601159
```rust
1161-
struct Thing
1162-
{
1160+
struct Thing {
11631161
x: u32,
11641162
}
11651163
```
@@ -1180,8 +1178,7 @@ impl Thing {
11801178
```
11811179
11821180
```rust
1183-
enum Thing
1184-
{
1181+
enum Thing {
11851182
A,
11861183
}
11871184
```
@@ -1202,8 +1199,7 @@ impl Thing {
12021199
```
12031200
12041201
```rust
1205-
enum Thing
1206-
{
1202+
enum Thing {
12071203
A,
12081204
}
12091205
```
@@ -2017,8 +2013,7 @@ fn test_hover_layout_of_enum() {
20172013
```
20182014
20192015
```rust
2020-
enum Foo
2021-
{
2016+
enum Foo {
20222017
Variant1(u8, u16),
20232018
Variant2(i32, u8, i64),
20242019
} // size = 16 (0x10), align = 8, niches = 254
@@ -2362,7 +2357,7 @@ fn main() { let s$0t = S{ f1:0 }; }
23622357
focus_range: 7..8,
23632358
name: "S",
23642359
kind: Struct,
2365-
description: "struct S\n{\n f1: u32,\n}",
2360+
description: "struct S {\n f1: u32,\n}",
23662361
},
23672362
},
23682363
],
@@ -2395,7 +2390,7 @@ fn main() { let s$0t = S{ f1:Arg(0) }; }
23952390
focus_range: 24..25,
23962391
name: "S",
23972392
kind: Struct,
2398-
description: "struct S<T>\n{\n f1: T,\n}",
2393+
description: "struct S<T> {\n f1: T,\n}",
23992394
},
24002395
},
24012396
HoverGotoTypeData {
@@ -2454,7 +2449,7 @@ fn main() { let s$0t = S{ f1: S{ f1: Arg(0) } }; }
24542449
focus_range: 24..25,
24552450
name: "S",
24562451
kind: Struct,
2457-
description: "struct S<T>\n{\n f1: T,\n}",
2452+
description: "struct S<T> {\n f1: T,\n}",
24582453
},
24592454
},
24602455
HoverGotoTypeData {
@@ -2720,7 +2715,7 @@ fn main() { let s$0t = foo(); }
27202715
focus_range: 39..41,
27212716
name: "S1",
27222717
kind: Struct,
2723-
description: "struct S1",
2718+
description: "struct S1 {\n}",
27242719
},
27252720
},
27262721
HoverGotoTypeData {
@@ -2733,7 +2728,7 @@ fn main() { let s$0t = foo(); }
27332728
focus_range: 52..54,
27342729
name: "S2",
27352730
kind: Struct,
2736-
description: "struct S2",
2731+
description: "struct S2 {\n}",
27372732
},
27382733
},
27392734
],
@@ -2824,7 +2819,7 @@ fn foo(ar$0g: &impl Foo + Bar<S>) {}
28242819
focus_range: 36..37,
28252820
name: "S",
28262821
kind: Struct,
2827-
description: "struct S",
2822+
description: "struct S {\n}",
28282823
},
28292824
},
28302825
],
@@ -2924,7 +2919,7 @@ fn foo(ar$0g: &impl Foo<S>) {}
29242919
focus_range: 23..24,
29252920
name: "S",
29262921
kind: Struct,
2927-
description: "struct S",
2922+
description: "struct S {\n}",
29282923
},
29292924
},
29302925
],
@@ -2961,7 +2956,7 @@ fn main() { let s$0t = foo(); }
29612956
focus_range: 49..50,
29622957
name: "B",
29632958
kind: Struct,
2964-
description: "struct B<T>",
2959+
description: "struct B<T> {\n}",
29652960
},
29662961
},
29672962
HoverGotoTypeData {
@@ -3050,7 +3045,7 @@ fn foo(ar$0g: &dyn Foo<S>) {}
30503045
focus_range: 23..24,
30513046
name: "S",
30523047
kind: Struct,
3053-
description: "struct S",
3048+
description: "struct S {\n}",
30543049
},
30553050
},
30563051
],
@@ -3098,7 +3093,7 @@ fn foo(a$0rg: &impl ImplTrait<B<dyn DynTrait<B<S>>>>) {}
30983093
focus_range: 50..51,
30993094
name: "B",
31003095
kind: Struct,
3101-
description: "struct B<T>",
3096+
description: "struct B<T> {\n}",
31023097
},
31033098
},
31043099
HoverGotoTypeData {
@@ -3124,7 +3119,7 @@ fn foo(a$0rg: &impl ImplTrait<B<dyn DynTrait<B<S>>>>) {}
31243119
focus_range: 65..66,
31253120
name: "S",
31263121
kind: Struct,
3127-
description: "struct S",
3122+
description: "struct S {\n}",
31283123
},
31293124
},
31303125
],

0 commit comments

Comments
 (0)