@@ -169,7 +169,7 @@ pub fn define(tts: proc_macro::TokenStream) -> proc_macro::TokenStream {
169
169
}
170
170
171
171
fn make_field_enum_variant_from_named_field ( type_name : & Ident , f : & Field ) -> Variant {
172
- let fields = if let Some ( .. ) = extract_generic ( "Vec" , & f. ty ) {
172
+ let fields = if is_vec_or_opt_vec ( & f. ty ) {
173
173
let mut v = Punctuated :: new ( ) ;
174
174
175
175
v. push ( Field {
@@ -357,7 +357,7 @@ fn make_field_enum(item: &Item) -> Vec<Item> {
357
357
f. ident . span ( ) ,
358
358
) ;
359
359
360
- if let Some ( .. ) = extract_generic ( "Vec" , & f. ty ) {
360
+ if is_vec_or_opt_vec ( & f. ty ) {
361
361
arms. push ( Arm {
362
362
attrs : Default :: default ( ) ,
363
363
pat : Pat :: TupleStruct ( PatTupleStruct {
@@ -2186,7 +2186,7 @@ fn visit_expr(
2186
2186
2187
2187
let ast_path_expr: Expr = match mode {
2188
2188
Mode :: Visit ( ..) => {
2189
- if let Some ( .. ) = extract_generic ( "Vec" , ty) {
2189
+ if is_vec_or_opt_vec ( ty) {
2190
2190
q ! (
2191
2191
Vars {
2192
2192
VariantName : type_name,
@@ -2215,7 +2215,7 @@ fn visit_expr(
2215
2215
}
2216
2216
}
2217
2217
_ => {
2218
- if let Some ( .. ) = extract_generic ( "Vec" , ty) {
2218
+ if is_vec_or_opt_vec ( ty) {
2219
2219
q ! (
2220
2220
Vars {
2221
2221
VariantName : type_name,
@@ -3211,6 +3211,10 @@ fn is_opt_vec(ty: &Type) -> bool {
3211
3211
}
3212
3212
}
3213
3213
3214
+ fn is_vec_or_opt_vec ( ty : & Type ) -> bool {
3215
+ is_opt_vec ( ty) || extract_generic ( "Vec" , ty) . is_some ( )
3216
+ }
3217
+
3214
3218
fn method_name_as_str ( mode : Mode , ty : & Type ) -> String {
3215
3219
fn suffix ( ty : & Type ) -> String {
3216
3220
// Box<T> has same name as T
1 commit comments
github-actions[bot] commentedon Jan 29, 2023
Benchmark
es/full/bugs-1
305099
ns/iter (± 12596
)301820
ns/iter (± 15748
)1.01
es/full/minify/libraries/antd
1599871033
ns/iter (± 25373523
)1611872239
ns/iter (± 41318970
)0.99
es/full/minify/libraries/d3
300668855
ns/iter (± 6760814
)306449043
ns/iter (± 6417618
)0.98
es/full/minify/libraries/echarts
1238664859
ns/iter (± 11132063
)1269031000
ns/iter (± 15156228
)0.98
es/full/minify/libraries/jquery
90083138
ns/iter (± 772059
)91739512
ns/iter (± 1435857
)0.98
es/full/minify/libraries/lodash
105931238
ns/iter (± 985438
)108169293
ns/iter (± 994631
)0.98
es/full/minify/libraries/moment
52449792
ns/iter (± 287585
)53547460
ns/iter (± 570355
)0.98
es/full/minify/libraries/react
19029374
ns/iter (± 110119
)19336719
ns/iter (± 264144
)0.98
es/full/minify/libraries/terser
249670995
ns/iter (± 2756483
)249905264
ns/iter (± 4592383
)1.00
es/full/minify/libraries/three
441573823
ns/iter (± 5650630
)440422572
ns/iter (± 4164483
)1.00
es/full/minify/libraries/typescript
3000968894
ns/iter (± 37457127
)3075861195
ns/iter (± 22339092
)0.98
es/full/minify/libraries/victory
646076665
ns/iter (± 10078212
)666549206
ns/iter (± 11717490
)0.97
es/full/minify/libraries/vue
129205448
ns/iter (± 998032
)132373155
ns/iter (± 2511831
)0.98
es/full/codegen/es3
25802
ns/iter (± 116
)25992
ns/iter (± 59
)0.99
es/full/codegen/es5
25885
ns/iter (± 77
)26051
ns/iter (± 50
)0.99
es/full/codegen/es2015
25788
ns/iter (± 180
)25998
ns/iter (± 33
)0.99
es/full/codegen/es2016
25666
ns/iter (± 186
)26011
ns/iter (± 61
)0.99
es/full/codegen/es2017
25727
ns/iter (± 157
)25993
ns/iter (± 43
)0.99
es/full/codegen/es2018
25858
ns/iter (± 172
)25994
ns/iter (± 34
)0.99
es/full/codegen/es2019
25822
ns/iter (± 118
)26008
ns/iter (± 46
)0.99
es/full/codegen/es2020
25787
ns/iter (± 97
)26014
ns/iter (± 69
)0.99
es/full/all/es3
174826328
ns/iter (± 3696273
)175832561
ns/iter (± 2197057
)0.99
es/full/all/es5
164145992
ns/iter (± 4284640
)167628109
ns/iter (± 2707148
)0.98
es/full/all/es2015
124506943
ns/iter (± 1845949
)129030006
ns/iter (± 2685271
)0.96
es/full/all/es2016
123046512
ns/iter (± 1576376
)126203142
ns/iter (± 1800250
)0.97
es/full/all/es2017
121847425
ns/iter (± 1112185
)124903185
ns/iter (± 1900687
)0.98
es/full/all/es2018
119750205
ns/iter (± 795460
)123269641
ns/iter (± 2574496
)0.97
es/full/all/es2019
118608227
ns/iter (± 917214
)123524299
ns/iter (± 2529363
)0.96
es/full/all/es2020
114604142
ns/iter (± 768514
)116663164
ns/iter (± 1078424
)0.98
es/full/parser
544556
ns/iter (± 7066
)547757
ns/iter (± 8640
)0.99
es/full/base/fixer
21810
ns/iter (± 64
)21729
ns/iter (± 38
)1.00
es/full/base/resolver_and_hygiene
80068
ns/iter (± 176
)80136
ns/iter (± 70
)1.00
serialization of ast node
127
ns/iter (± 0
)126
ns/iter (± 0
)1.01
serialization of serde
129
ns/iter (± 0
)129
ns/iter (± 0
)1
css/minify/libraries/bootstrap
27780644
ns/iter (± 198705
)28049011
ns/iter (± 49142
)0.99
css/visitor/compare/clone
2073633
ns/iter (± 15390
)2059820
ns/iter (± 16576
)1.01
css/visitor/compare/visit_mut_span
2234671
ns/iter (± 9153
)2257473
ns/iter (± 7475
)0.99
css/visitor/compare/visit_mut_span_panic
2302017
ns/iter (± 7706
)2301248
ns/iter (± 8878
)1.00
css/visitor/compare/fold_span
2975609
ns/iter (± 22530
)3019876
ns/iter (± 19435
)0.99
css/visitor/compare/fold_span_panic
3115987
ns/iter (± 21699
)3217520
ns/iter (± 24062
)0.97
css/lexer/bootstrap_5_1_3
5155958
ns/iter (± 29796
)5215111
ns/iter (± 59232
)0.99
css/lexer/foundation_6_7_4
4306240
ns/iter (± 27794
)4393683
ns/iter (± 1101
)0.98
css/lexer/tailwind_3_1_1
819282
ns/iter (± 3986
)834389
ns/iter (± 263
)0.98
css/parser/bootstrap_5_1_3
21467938
ns/iter (± 139289
)21652132
ns/iter (± 33684
)0.99
css/parser/foundation_6_7_4
17179059
ns/iter (± 86939
)17331484
ns/iter (± 51791
)0.99
css/parser/tailwind_3_1_1
3297887
ns/iter (± 18372
)3312993
ns/iter (± 13198
)1.00
es/codegen/colors
324764
ns/iter (± 183514
)329401
ns/iter (± 184400
)0.99
es/codegen/large
1210172
ns/iter (± 627617
)1188917
ns/iter (± 615528
)1.02
es/codegen/with-parser/colors
47814
ns/iter (± 514
)47972
ns/iter (± 342
)1.00
es/codegen/with-parser/large
531783
ns/iter (± 3859
)536005
ns/iter (± 1435
)0.99
es/minify/libraries/antd
1390837566
ns/iter (± 15111080
)1420368446
ns/iter (± 9501654
)0.98
es/minify/libraries/d3
253806006
ns/iter (± 3640726
)258241457
ns/iter (± 4467393
)0.98
es/minify/libraries/echarts
1056700609
ns/iter (± 19310473
)1068298569
ns/iter (± 20074028
)0.99
es/minify/libraries/jquery
77781650
ns/iter (± 361968
)79756626
ns/iter (± 793832
)0.98
es/minify/libraries/lodash
94252677
ns/iter (± 1197117
)97127096
ns/iter (± 2198589
)0.97
es/minify/libraries/moment
45661134
ns/iter (± 189864
)46905379
ns/iter (± 924465
)0.97
es/minify/libraries/react
16911259
ns/iter (± 82622
)17133167
ns/iter (± 198262
)0.99
es/minify/libraries/terser
208278495
ns/iter (± 3559326
)212794290
ns/iter (± 2094322
)0.98
es/minify/libraries/three
360977177
ns/iter (± 9580610
)364540467
ns/iter (± 9972967
)0.99
es/minify/libraries/typescript
2579561998
ns/iter (± 10504253
)2623585197
ns/iter (± 34602244
)0.98
es/minify/libraries/victory
554873112
ns/iter (± 16523041
)557323125
ns/iter (± 13145662
)1.00
es/minify/libraries/vue
114873619
ns/iter (± 970054
)118552349
ns/iter (± 2781540
)0.97
es/visitor/compare/clone
2377833
ns/iter (± 24398
)2422567
ns/iter (± 26540
)0.98
es/visitor/compare/visit_mut_span
2731355
ns/iter (± 20017
)2764764
ns/iter (± 8174
)0.99
es/visitor/compare/visit_mut_span_panic
2840557
ns/iter (± 6220
)2835624
ns/iter (± 7058
)1.00
es/visitor/compare/fold_span
3898116
ns/iter (± 28068
)3939901
ns/iter (± 8303
)0.99
es/visitor/compare/fold_span_panic
4002116
ns/iter (± 22642
)4055809
ns/iter (± 10396
)0.99
es/lexer/colors
17323
ns/iter (± 47
)17412
ns/iter (± 10
)0.99
es/lexer/angular
8230584
ns/iter (± 48561
)8322838
ns/iter (± 7123
)0.99
es/lexer/backbone
1078330
ns/iter (± 5369
)1095310
ns/iter (± 516
)0.98
es/lexer/jquery
5963663
ns/iter (± 33029
)6041600
ns/iter (± 8856
)0.99
es/lexer/jquery mobile
9182732
ns/iter (± 36824
)9311849
ns/iter (± 3542
)0.99
es/lexer/mootools
4668430
ns/iter (± 26189
)4742753
ns/iter (± 8586
)0.98
es/lexer/underscore
901441
ns/iter (± 5410
)911987
ns/iter (± 403
)0.99
es/lexer/three
27995131
ns/iter (± 144456
)28238267
ns/iter (± 14228
)0.99
es/lexer/yui
5031285
ns/iter (± 21231
)5107605
ns/iter (± 2350
)0.99
es/parser/colors
30914
ns/iter (± 139
)31128
ns/iter (± 163
)0.99
es/parser/angular
15684180
ns/iter (± 101638
)15880015
ns/iter (± 138146
)0.99
es/parser/backbone
2332364
ns/iter (± 12742
)2336073
ns/iter (± 13132
)1.00
es/parser/jquery
12351770
ns/iter (± 77024
)12608432
ns/iter (± 102183
)0.98
es/parser/jquery mobile
19802058
ns/iter (± 288945
)20011752
ns/iter (± 173838
)0.99
es/parser/mootools
9443922
ns/iter (± 44933
)9595575
ns/iter (± 16102
)0.98
es/parser/underscore
1952056
ns/iter (± 18566
)1985724
ns/iter (± 9791
)0.98
es/parser/three
56966852
ns/iter (± 734106
)59314753
ns/iter (± 578265
)0.96
es/parser/yui
9605748
ns/iter (± 63090
)9671059
ns/iter (± 42865
)0.99
es/preset-env/usage/builtin_type
139935
ns/iter (± 32220
)140469
ns/iter (± 31625
)1.00
es/preset-env/usage/property
20940
ns/iter (± 53
)20948
ns/iter (± 94
)1.00
es/resolver/typescript
108698695
ns/iter (± 2544325
)109514812
ns/iter (± 1953435
)0.99
es/fixer/typescript
83168144
ns/iter (± 824845
)83564490
ns/iter (± 305166
)1.00
es/hygiene/typescript
175720648
ns/iter (± 2030475
)178249061
ns/iter (± 1439738
)0.99
es/resolver_with_hygiene/typescript
305953400
ns/iter (± 2935472
)310191757
ns/iter (± 3400136
)0.99
es/visitor/base-perf/module_clone
74550
ns/iter (± 1119
)74712
ns/iter (± 1108
)1.00
es/visitor/base-perf/fold_empty
84559
ns/iter (± 1154
)84923
ns/iter (± 1513
)1.00
es/visitor/base-perf/fold_noop_impl_all
85337
ns/iter (± 1594
)86223
ns/iter (± 1984
)0.99
es/visitor/base-perf/fold_noop_impl_vec
83867
ns/iter (± 1637
)85681
ns/iter (± 1728
)0.98
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)56
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
58
ns/iter (± 0
)62
ns/iter (± 0
)0.94
es/visitor/base-perf/boxing_boxed
102
ns/iter (± 0
)104
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed
102
ns/iter (± 0
)103
ns/iter (± 0
)0.99
es/visitor/base-perf/visit_contains_this
3487
ns/iter (± 72
)3525
ns/iter (± 67
)0.99
es/base/parallel/resolver/typescript
5236730015
ns/iter (± 411573409
)5358892896
ns/iter (± 364180794
)0.98
es/base/parallel/hygiene/typescript
2119699581
ns/iter (± 31768859
)2135308043
ns/iter (± 20173579
)0.99
misc/visitors/time-complexity/time 5
93
ns/iter (± 0
)93
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
306
ns/iter (± 1
)308
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 15
641
ns/iter (± 3
)663
ns/iter (± 0
)0.97
misc/visitors/time-complexity/time 20
1192
ns/iter (± 7
)1225
ns/iter (± 0
)0.97
misc/visitors/time-complexity/time 40
6197
ns/iter (± 25
)6286
ns/iter (± 10
)0.99
misc/visitors/time-complexity/time 60
15375
ns/iter (± 90
)15581
ns/iter (± 1
)0.99
es/full-target/es2016
187326
ns/iter (± 993
)188506
ns/iter (± 318
)0.99
es/full-target/es2017
181202
ns/iter (± 1099
)183337
ns/iter (± 187
)0.99
es/full-target/es2018
170066
ns/iter (± 1263
)172724
ns/iter (± 643
)0.98
es2020_nullish_coalescing
66083
ns/iter (± 684
)67114
ns/iter (± 140
)0.98
es2020_optional_chaining
95177
ns/iter (± 6875
)95792
ns/iter (± 8656
)0.99
es2022_class_properties
93205
ns/iter (± 317
)94138
ns/iter (± 117
)0.99
es2018_object_rest_spread
70474
ns/iter (± 435
)71417
ns/iter (± 88
)0.99
es2019_optional_catch_binding
60498
ns/iter (± 253
)61404
ns/iter (± 120
)0.99
es2017_async_to_generator
61061
ns/iter (± 504
)61680
ns/iter (± 51
)0.99
es2016_exponentiation
64262
ns/iter (± 273
)65277
ns/iter (± 78
)0.98
es2015_arrow
68930
ns/iter (± 375
)70307
ns/iter (± 248
)0.98
es2015_block_scoped_fn
65385
ns/iter (± 488
)66349
ns/iter (± 136
)0.99
es2015_block_scoping
158478
ns/iter (± 11241
)139092
ns/iter (± 5442
)1.14
es2015_classes
115606
ns/iter (± 866
)117446
ns/iter (± 389
)0.98
es2015_computed_props
60752
ns/iter (± 425
)61475
ns/iter (± 69
)0.99
es2015_destructuring
114182
ns/iter (± 585
)115819
ns/iter (± 297
)0.99
es2015_duplicate_keys
63732
ns/iter (± 395
)63977
ns/iter (± 113
)1.00
es2015_parameters
78759
ns/iter (± 582
)80118
ns/iter (± 315
)0.98
es2015_fn_name
66327
ns/iter (± 633
)66706
ns/iter (± 416
)0.99
es2015_for_of
64082
ns/iter (± 259
)64677
ns/iter (± 120
)0.99
es2015_instanceof
62475
ns/iter (± 439
)63159
ns/iter (± 109
)0.99
es2015_shorthand_property
60545
ns/iter (± 308
)61692
ns/iter (± 70
)0.98
es2015_spread
60657
ns/iter (± 316
)61447
ns/iter (± 72
)0.99
es2015_sticky_regex
61737
ns/iter (± 256
)62639
ns/iter (± 142
)0.99
es2015_typeof_symbol
61669
ns/iter (± 398
)62867
ns/iter (± 140
)0.98
es/transform/baseline/base
50555
ns/iter (± 468
)52271
ns/iter (± 88
)0.97
es/transform/baseline/common_reserved_word
60922
ns/iter (± 291
)63131
ns/iter (± 87
)0.97
es/transform/baseline/common_typescript
164229
ns/iter (± 990
)168980
ns/iter (± 330
)0.97
es/target/es3
164050
ns/iter (± 800
)170722
ns/iter (± 384
)0.96
es/target/es2015
595613
ns/iter (± 2498
)627658
ns/iter (± 1286
)0.95
es/target/es2016
62863
ns/iter (± 244
)65400
ns/iter (± 106
)0.96
es/target/es2017
59630
ns/iter (± 319
)61796
ns/iter (± 69
)0.96
es/target/es2018
78681
ns/iter (± 282
)81781
ns/iter (± 85
)0.96
es/target/es2020
127933
ns/iter (± 867
)133005
ns/iter (± 183
)0.96
babelify-only
671969
ns/iter (± 1304
)672804
ns/iter (± 1200
)1.00
parse_and_babelify_angular
42659002
ns/iter (± 1291699
)42636690
ns/iter (± 626830
)1.00
parse_and_babelify_backbone
5423554
ns/iter (± 26893
)5494447
ns/iter (± 55011
)0.99
parse_and_babelify_jquery
31345412
ns/iter (± 597108
)31472504
ns/iter (± 529645
)1.00
parse_and_babelify_jquery_mobile
53049116
ns/iter (± 671693
)53970528
ns/iter (± 773893
)0.98
parse_and_babelify_mootools
31706616
ns/iter (± 409614
)32684172
ns/iter (± 403975
)0.97
parse_and_babelify_underscore
4375478
ns/iter (± 14173
)4422403
ns/iter (± 39903
)0.99
parse_and_babelify_yui
31556980
ns/iter (± 300528
)32240530
ns/iter (± 472995
)0.98
html/minify/document/css_spec
41147479
ns/iter (± 470279
)41760680
ns/iter (± 204782
)0.99
html/minify/document/github
17543030
ns/iter (± 105685
)17521734
ns/iter (± 13975
)1.00
html/minify/document/stackoverflow
15581786
ns/iter (± 72901
)15724259
ns/iter (± 22886
)0.99
html/minify/document_fragment/css_spec
39671137
ns/iter (± 142848
)39871656
ns/iter (± 167934
)0.99
html/minify/document_fragment/github
16649055
ns/iter (± 111065
)16886068
ns/iter (± 42458
)0.99
html/minify/document_fragment/stackoverflow
15140566
ns/iter (± 93920
)15253013
ns/iter (± 20459
)0.99
html/document/visitor/compare/clone
340107
ns/iter (± 3345
)342655
ns/iter (± 2339
)0.99
html/document/visitor/compare/visit_mut_span
369099
ns/iter (± 2550
)370011
ns/iter (± 1737
)1.00
html/document/visitor/compare/visit_mut_span_panic
377626
ns/iter (± 2162
)384194
ns/iter (± 2100
)0.98
html/document/visitor/compare/fold_span
405072
ns/iter (± 2265
)407466
ns/iter (± 2198
)0.99
html/document/visitor/compare/fold_span_panic
459717
ns/iter (± 2508
)459815
ns/iter (± 1728
)1.00
html/document_fragment/visitor/compare/clone
337238
ns/iter (± 2455
)345976
ns/iter (± 1923
)0.97
html/document_fragment/visitor/compare/visit_mut_span
365909
ns/iter (± 2624
)372183
ns/iter (± 2236
)0.98
html/document_fragment/visitor/compare/visit_mut_span_panic
371481
ns/iter (± 2167
)371714
ns/iter (± 1501
)1.00
html/document_fragment/visitor/compare/fold_span
403201
ns/iter (± 3025
)405285
ns/iter (± 2028
)0.99
html/document_fragment/visitor/compare/fold_span_panic
459564
ns/iter (± 1844
)460107
ns/iter (± 2647
)1.00
html/lexer/css_2021_spec
15310701
ns/iter (± 89286
)15488857
ns/iter (± 14654
)0.99
html/lexer/github_com_17_05_2022
6026520
ns/iter (± 48747
)6022693
ns/iter (± 4850
)1.00
html/lexer/stackoverflow_com_17_05_2022
5566640
ns/iter (± 30541
)5621161
ns/iter (± 4711
)0.99
html/parser/parser_document/css_2021_spec
25224471
ns/iter (± 236944
)25280596
ns/iter (± 134199
)1.00
html/parser/parser_document/github_com_17_05_2022
8626700
ns/iter (± 25057
)8739137
ns/iter (± 10386
)0.99
html/parser/parser_document/stackoverflow_com_17_05_2022
7589491
ns/iter (± 38983
)7707045
ns/iter (± 3078
)0.98
html/parser/parser_document_fragment/css_2021_spec
25143910
ns/iter (± 226519
)25526475
ns/iter (± 411692
)0.99
html/parser/parser_document_fragment/github_com_17_05_2022
8649137
ns/iter (± 56496
)8742374
ns/iter (± 26506
)0.99
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7698058
ns/iter (± 25948
)7715383
ns/iter (± 5001
)1.00
This comment was automatically generated by workflow using github-action-benchmark.