@@ -243,9 +243,9 @@ where
243
243
fn visit_mut_expr ( & mut self , n : & mut Expr ) {
244
244
match n {
245
245
Expr :: Class ( e) => {
246
- let class = self . fold_class ( e. ident . take ( ) , e. class . take ( ) ) ;
247
- if let Expr :: Call ( call) = & class {
248
- self . add_pure_comments ( call. span . lo )
246
+ let mut class = self . fold_class ( e. ident . take ( ) , e. class . take ( ) ) ;
247
+ if let Expr :: Call ( call) = & mut class {
248
+ self . add_pure_comments ( & mut call. span . lo )
249
249
}
250
250
* n = class;
251
251
n. visit_mut_children_with ( self )
@@ -359,9 +359,13 @@ impl<C> Classes<C>
359
359
where
360
360
C : Comments ,
361
361
{
362
- fn add_pure_comments ( & mut self , start : BytePos ) {
362
+ fn add_pure_comments ( & mut self , start : & mut BytePos ) {
363
+ if start. is_dummy ( ) {
364
+ * start = Span :: dummy_with_cmt ( ) . lo ;
365
+ }
366
+
363
367
if let Some ( comments) = & self . comments {
364
- comments. add_pure_comment ( start) ;
368
+ comments. add_pure_comment ( * start) ;
365
369
}
366
370
}
367
371
@@ -375,12 +379,12 @@ where
375
379
376
380
// let VarDecl take every comments except pure
377
381
if let Expr :: Call ( call) = & mut rhs {
378
- let span = Span {
382
+ let mut span = Span {
379
383
// after class
380
384
lo : span. hi + BytePos ( 5 ) ,
381
385
..span
382
386
} ;
383
- self . add_pure_comments ( span. lo ) ;
387
+ self . add_pure_comments ( & mut span. lo ) ;
384
388
call. span = span;
385
389
}
386
390
0 commit comments