Skip to content

Commit dc63715

Browse files
committed
Add test
1 parent 1612ed3 commit dc63715

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

tests/test_concepts.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,59 @@ def test_requires_compound() -> None:
659659
)
660660

661661

662+
def test_requires_compound_parenthesized() -> None:
663+
content = """
664+
template <int X>
665+
requires (X == 0) || (X == 1)
666+
int Fibonacci() { return X; }
667+
"""
668+
data = parse_string(content, cleandoc=True)
669+
670+
assert data == ParsedData(
671+
namespace=NamespaceScope(
672+
functions=[
673+
Function(
674+
return_type=Type(
675+
typename=PQName(segments=[FundamentalSpecifier(name="int")])
676+
),
677+
name=PQName(segments=[NameSpecifier(name="Fibonacci")]),
678+
parameters=[],
679+
has_body=True,
680+
template=TemplateDecl(
681+
params=[
682+
TemplateNonTypeParam(
683+
type=Type(
684+
typename=PQName(
685+
segments=[FundamentalSpecifier(name="int")]
686+
)
687+
),
688+
name="X",
689+
)
690+
],
691+
raw_requires_pre=Value(
692+
tokens=[
693+
Token(value="("),
694+
Token(value="X"),
695+
Token(value="="),
696+
Token(value="="),
697+
Token(value="0"),
698+
Token(value=")"),
699+
Token(value="||"),
700+
Token(value="("),
701+
Token(value="X"),
702+
Token(value="="),
703+
Token(value="="),
704+
Token(value="1"),
705+
Token(value=")"),
706+
]
707+
),
708+
),
709+
)
710+
]
711+
)
712+
)
713+
714+
662715
def test_requires_ad_hoc() -> None:
663716
content = """
664717
template<typename T>

0 commit comments

Comments
 (0)