@@ -118,6 +118,18 @@ matiter!(match_empty8, r"()+|z", "abc", (0, 0), (1, 1), (2, 2), (3, 3));
118
118
matiter ! ( match_empty9, r"z|()+" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
119
119
matiter ! ( match_empty10, r"()+|b" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
120
120
matiter ! ( match_empty11, r"b|()+" , "abc" , ( 0 , 0 ) , ( 1 , 2 ) , ( 3 , 3 ) ) ;
121
+ matiter ! ( match_empty12, r"|b" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
122
+ matiter ! ( match_empty13, r"b|" , "abc" , ( 0 , 0 ) , ( 1 , 2 ) , ( 3 , 3 ) ) ;
123
+ matiter ! ( match_empty14, r"|z" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
124
+ matiter ! ( match_empty15, r"z|" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
125
+ matiter ! ( match_empty16, r"|" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
126
+ matiter ! ( match_empty17, r"||" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
127
+ matiter ! ( match_empty18, r"||z" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
128
+ matiter ! ( match_empty19, r"(?:)|b" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
129
+ matiter ! ( match_empty20, r"b|(?:)" , "abc" , ( 0 , 0 ) , ( 1 , 2 ) , ( 3 , 3 ) ) ;
130
+ matiter ! ( match_empty21, r"(?:|)" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
131
+ matiter ! ( match_empty22, r"(?:|)|z" , "abc" , ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ) ;
132
+ matiter ! ( match_empty23, r"a(?:)|b" , "abc" , ( 0 , 1 ) , ( 1 , 2 ) ) ;
121
133
122
134
// Test that the DFA can handle pathological cases.
123
135
// (This should result in the DFA's cache being flushed too frequently, which
0 commit comments