File tree 2 files changed +38
-2
lines changed
crates/ide-completion/src
2 files changed +38
-2
lines changed Original file line number Diff line number Diff line change @@ -681,9 +681,13 @@ fn classify_name_ref(
681
681
ast:: Item :: ExternBlock ( it) => it. extern_item_list ( ) . is_none ( ) ,
682
682
ast:: Item :: Fn ( it) => it. body ( ) . is_none ( ) ,
683
683
ast:: Item :: Impl ( it) => it. assoc_item_list ( ) . is_none ( ) ,
684
- ast:: Item :: Module ( it) => it. item_list ( ) . is_none ( ) ,
684
+ ast:: Item :: Module ( it) => {
685
+ it. item_list ( ) . is_none ( ) && it. semicolon_token ( ) . is_none ( )
686
+ }
685
687
ast:: Item :: Static ( it) => it. body ( ) . is_none ( ) ,
686
- ast:: Item :: Struct ( it) => it. field_list ( ) . is_none ( ) ,
688
+ ast:: Item :: Struct ( it) => {
689
+ it. field_list ( ) . is_none ( ) && it. semicolon_token ( ) . is_none ( )
690
+ }
687
691
ast:: Item :: Trait ( it) => it. assoc_item_list ( ) . is_none ( ) ,
688
692
ast:: Item :: TypeAlias ( it) => it. ty ( ) . is_none ( ) ,
689
693
ast:: Item :: Union ( it) => it. record_field_list ( ) . is_none ( ) ,
Original file line number Diff line number Diff line change @@ -245,3 +245,35 @@ impl Test for () {
245
245
"# ] ] ,
246
246
) ;
247
247
}
248
+
249
+ #[ test]
250
+ fn after_unit_struct ( ) {
251
+ check (
252
+ r#"struct S; f$0"# ,
253
+ expect ! [ [ r#"
254
+ ma makro!(…) macro_rules! makro
255
+ md module
256
+ kw const
257
+ kw crate::
258
+ kw enum
259
+ kw extern
260
+ kw fn
261
+ kw impl
262
+ kw mod
263
+ kw pub
264
+ kw pub(crate)
265
+ kw pub(super)
266
+ kw self::
267
+ kw static
268
+ kw struct
269
+ kw trait
270
+ kw type
271
+ kw union
272
+ kw unsafe
273
+ kw use
274
+ sn macro_rules
275
+ sn tfn (Test function)
276
+ sn tmod (Test module)
277
+ "# ] ] ,
278
+ ) ;
279
+ }
You can’t perform that action at this time.
0 commit comments