File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed
Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff 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+
662715def test_requires_ad_hoc () -> None :
663716 content = """
664717 template<typename T>
You can’t perform that action at this time.
0 commit comments