File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -2415,3 +2415,55 @@ def test_deduction_sizeof_pack() -> None:
2415
2415
]
2416
2416
)
2417
2417
)
2418
+
2419
+
2420
+ def test_template_has_typename () -> None :
2421
+ content = """
2422
+ template<typename T::Q value>
2423
+ void func(typename V::U arg) {}
2424
+ """
2425
+ data = parse_string (content , cleandoc = True )
2426
+
2427
+ assert data == ParsedData (
2428
+ namespace = NamespaceScope (
2429
+ functions = [
2430
+ Function (
2431
+ return_type = Type (
2432
+ typename = PQName (segments = [FundamentalSpecifier (name = "void" )])
2433
+ ),
2434
+ name = PQName (segments = [NameSpecifier (name = "func" )]),
2435
+ parameters = [
2436
+ Parameter (
2437
+ type = Type (
2438
+ typename = PQName (
2439
+ segments = [
2440
+ NameSpecifier (name = "V" ),
2441
+ NameSpecifier (name = "U" ),
2442
+ ],
2443
+ has_typename = True ,
2444
+ )
2445
+ ),
2446
+ name = "arg" ,
2447
+ )
2448
+ ],
2449
+ has_body = True ,
2450
+ template = TemplateDecl (
2451
+ params = [
2452
+ TemplateNonTypeParam (
2453
+ type = Type (
2454
+ typename = PQName (
2455
+ segments = [
2456
+ NameSpecifier (name = "T" ),
2457
+ NameSpecifier (name = "Q" ),
2458
+ ],
2459
+ has_typename = True ,
2460
+ )
2461
+ ),
2462
+ name = "value" ,
2463
+ )
2464
+ ]
2465
+ ),
2466
+ )
2467
+ ]
2468
+ )
2469
+ )
You can’t perform that action at this time.
0 commit comments