File tree Expand file tree Collapse file tree 5 files changed +40243
-40117
lines changed Expand file tree Collapse file tree 5 files changed +40243
-40117
lines changed Original file line number Diff line number Diff line change @@ -1022,6 +1022,10 @@ pub trait A<B> where B: C,
1022
1022
{
1023
1023
}
1024
1024
1025
+ fn foo<A>() where A: B + As<f64>, f64: As<A>
1026
+ {
1027
+ }
1028
+
1025
1029
---
1026
1030
1027
1031
(source_file
@@ -1133,11 +1137,28 @@ pub trait A<B> where B: C,
1133
1137
(visibility_modifier)
1134
1138
name: (type_identifier)
1135
1139
type_parameters: (type_parameters (type_identifier))
1140
+ (where_clause (where_predicate
1141
+ left: (type_identifier)
1142
+ bounds: (trait_bounds (type_identifier))))
1143
+ body: (declaration_list))
1144
+ (function_item
1145
+ name: (identifier)
1146
+ type_parameters: (type_parameters (type_identifier))
1147
+ parameters: (parameters)
1136
1148
(where_clause
1137
1149
(where_predicate
1138
1150
left: (type_identifier)
1139
- bounds: (trait_bounds (type_identifier))))
1140
- body: (declaration_list)))
1151
+ bounds: (trait_bounds
1152
+ (type_identifier)
1153
+ (generic_type
1154
+ type: (type_identifier)
1155
+ type_arguments: (type_arguments (primitive_type)))))
1156
+ (where_predicate
1157
+ left: (primitive_type)
1158
+ bounds: (trait_bounds (generic_type
1159
+ type: (type_identifier)
1160
+ type_arguments: (type_arguments (type_identifier))))))
1161
+ body: (block)))
1141
1162
1142
1163
===================================
1143
1164
External Modules
Original file line number Diff line number Diff line change @@ -441,6 +441,7 @@ module.exports = grammar({
441
441
$ . reference_type ,
442
442
$ . tuple_type ,
443
443
$ . higher_ranked_trait_bound ,
444
+ alias ( choice ( ...primitive_types ) , $ . primitive_type )
444
445
) ) ,
445
446
field ( 'bounds' , $ . trait_bounds )
446
447
) ,
Original file line number Diff line number Diff line change 2388
2388
{
2389
2389
"type" : " SYMBOL" ,
2390
2390
"name" : " higher_ranked_trait_bound"
2391
+ },
2392
+ {
2393
+ "type" : " ALIAS" ,
2394
+ "content" : {
2395
+ "type" : " CHOICE" ,
2396
+ "members" : [
2397
+ {
2398
+ "type" : " STRING" ,
2399
+ "value" : " u8"
2400
+ },
2401
+ {
2402
+ "type" : " STRING" ,
2403
+ "value" : " i8"
2404
+ },
2405
+ {
2406
+ "type" : " STRING" ,
2407
+ "value" : " u16"
2408
+ },
2409
+ {
2410
+ "type" : " STRING" ,
2411
+ "value" : " i16"
2412
+ },
2413
+ {
2414
+ "type" : " STRING" ,
2415
+ "value" : " u32"
2416
+ },
2417
+ {
2418
+ "type" : " STRING" ,
2419
+ "value" : " i32"
2420
+ },
2421
+ {
2422
+ "type" : " STRING" ,
2423
+ "value" : " u64"
2424
+ },
2425
+ {
2426
+ "type" : " STRING" ,
2427
+ "value" : " i64"
2428
+ },
2429
+ {
2430
+ "type" : " STRING" ,
2431
+ "value" : " u128"
2432
+ },
2433
+ {
2434
+ "type" : " STRING" ,
2435
+ "value" : " i128"
2436
+ },
2437
+ {
2438
+ "type" : " STRING" ,
2439
+ "value" : " isize"
2440
+ },
2441
+ {
2442
+ "type" : " STRING" ,
2443
+ "value" : " usize"
2444
+ },
2445
+ {
2446
+ "type" : " STRING" ,
2447
+ "value" : " f32"
2448
+ },
2449
+ {
2450
+ "type" : " STRING" ,
2451
+ "value" : " f64"
2452
+ },
2453
+ {
2454
+ "type" : " STRING" ,
2455
+ "value" : " bool"
2456
+ },
2457
+ {
2458
+ "type" : " STRING" ,
2459
+ "value" : " str"
2460
+ },
2461
+ {
2462
+ "type" : " STRING" ,
2463
+ "value" : " char"
2464
+ }
2465
+ ]
2466
+ },
2467
+ "named" : true ,
2468
+ "value" : " primitive_type"
2391
2469
}
2392
2470
]
2393
2471
}
Original file line number Diff line number Diff line change 4348
4348
"type" : " lifetime" ,
4349
4349
"named" : true
4350
4350
},
4351
+ {
4352
+ "type" : " primitive_type" ,
4353
+ "named" : true
4354
+ },
4351
4355
{
4352
4356
"type" : " reference_type" ,
4353
4357
"named" : true
You can’t perform that action at this time.
0 commit comments