@@ -57,24 +57,22 @@ pub(crate) fn annotations(
57
57
continue ;
58
58
}
59
59
60
- let action = runnable. action ( ) ;
61
60
let range = runnable. nav . focus_or_full_range ( ) ;
62
61
62
+ // dbg_runnable should go after the run annotation, to prevent a clone we do it this way
63
+ let dbg_runnable = ( runnable. debugee ( ) && config. debug ) . then ( || Annotation {
64
+ range,
65
+ kind : AnnotationKind :: Runnable { debug : true , runnable : runnable. clone ( ) } ,
66
+ } ) ;
67
+
63
68
if config. run {
64
69
annotations. push ( Annotation {
65
70
range,
66
-
67
- // FIXME: This one allocates without reason if run is enabled, but debug is disabled
68
- kind : AnnotationKind :: Runnable { debug : false , runnable : runnable. clone ( ) } ,
71
+ kind : AnnotationKind :: Runnable { debug : false , runnable } ,
69
72
} ) ;
70
73
}
71
74
72
- if action. debugee && config. debug {
73
- annotations. push ( Annotation {
74
- range,
75
- kind : AnnotationKind :: Runnable { debug : true , runnable } ,
76
- } ) ;
77
- }
75
+ annotations. extend ( dbg_runnable) ;
78
76
}
79
77
}
80
78
@@ -228,6 +226,7 @@ fn main() {
228
226
kind: Runnable {
229
227
debug: false,
230
228
runnable: Runnable {
229
+ use_name_in_title: false,
231
230
nav: NavigationTarget {
232
231
file_id: FileId(
233
232
0,
@@ -247,6 +246,7 @@ fn main() {
247
246
kind: Runnable {
248
247
debug: true,
249
248
runnable: Runnable {
249
+ use_name_in_title: false,
250
250
nav: NavigationTarget {
251
251
file_id: FileId(
252
252
0,
@@ -332,6 +332,7 @@ fn main() {
332
332
kind: Runnable {
333
333
debug: false,
334
334
runnable: Runnable {
335
+ use_name_in_title: false,
335
336
nav: NavigationTarget {
336
337
file_id: FileId(
337
338
0,
@@ -351,6 +352,7 @@ fn main() {
351
352
kind: Runnable {
352
353
debug: true,
353
354
runnable: Runnable {
355
+ use_name_in_title: false,
354
356
nav: NavigationTarget {
355
357
file_id: FileId(
356
358
0,
@@ -440,6 +442,7 @@ fn main() {
440
442
kind: Runnable {
441
443
debug: false,
442
444
runnable: Runnable {
445
+ use_name_in_title: false,
443
446
nav: NavigationTarget {
444
447
file_id: FileId(
445
448
0,
@@ -459,6 +462,7 @@ fn main() {
459
462
kind: Runnable {
460
463
debug: true,
461
464
runnable: Runnable {
465
+ use_name_in_title: false,
462
466
nav: NavigationTarget {
463
467
file_id: FileId(
464
468
0,
@@ -601,6 +605,7 @@ fn main() {}
601
605
kind: Runnable {
602
606
debug: false,
603
607
runnable: Runnable {
608
+ use_name_in_title: false,
604
609
nav: NavigationTarget {
605
610
file_id: FileId(
606
611
0,
@@ -620,6 +625,7 @@ fn main() {}
620
625
kind: Runnable {
621
626
debug: true,
622
627
runnable: Runnable {
628
+ use_name_in_title: false,
623
629
nav: NavigationTarget {
624
630
file_id: FileId(
625
631
0,
@@ -674,6 +680,7 @@ fn main() {
674
680
kind: Runnable {
675
681
debug: false,
676
682
runnable: Runnable {
683
+ use_name_in_title: false,
677
684
nav: NavigationTarget {
678
685
file_id: FileId(
679
686
0,
@@ -693,6 +700,7 @@ fn main() {
693
700
kind: Runnable {
694
701
debug: true,
695
702
runnable: Runnable {
703
+ use_name_in_title: false,
696
704
nav: NavigationTarget {
697
705
file_id: FileId(
698
706
0,
@@ -816,6 +824,7 @@ mod tests {
816
824
kind: Runnable {
817
825
debug: false,
818
826
runnable: Runnable {
827
+ use_name_in_title: false,
819
828
nav: NavigationTarget {
820
829
file_id: FileId(
821
830
0,
@@ -835,6 +844,7 @@ mod tests {
835
844
kind: Runnable {
836
845
debug: true,
837
846
runnable: Runnable {
847
+ use_name_in_title: false,
838
848
nav: NavigationTarget {
839
849
file_id: FileId(
840
850
0,
@@ -854,6 +864,7 @@ mod tests {
854
864
kind: Runnable {
855
865
debug: false,
856
866
runnable: Runnable {
867
+ use_name_in_title: false,
857
868
nav: NavigationTarget {
858
869
file_id: FileId(
859
870
0,
@@ -876,6 +887,7 @@ mod tests {
876
887
kind: Runnable {
877
888
debug: true,
878
889
runnable: Runnable {
890
+ use_name_in_title: false,
879
891
nav: NavigationTarget {
880
892
file_id: FileId(
881
893
0,
@@ -898,6 +910,7 @@ mod tests {
898
910
kind: Runnable {
899
911
debug: false,
900
912
runnable: Runnable {
913
+ use_name_in_title: false,
901
914
nav: NavigationTarget {
902
915
file_id: FileId(
903
916
0,
@@ -924,6 +937,7 @@ mod tests {
924
937
kind: Runnable {
925
938
debug: true,
926
939
runnable: Runnable {
940
+ use_name_in_title: false,
927
941
nav: NavigationTarget {
928
942
file_id: FileId(
929
943
0,
0 commit comments