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:
24152415 ]
24162416 )
24172417 )
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