File tree Expand file tree Collapse file tree 1 file changed +22
-10
lines changed Expand file tree Collapse file tree 1 file changed +22
-10
lines changed Original file line number Diff line number Diff line change @@ -41,13 +41,25 @@ let () = Lwt_main.run begin
41
41
end
42
42
```
43
43
44
- ## Known Issues and Limitations
45
-
46
- - The processor is currently new and not well tested. Please break it and
47
- file bug reports.
48
- - Pattern guards are not implemented.
49
- - Optional patterns due to ` ? ` , ` * ` , and ` {0,n} ` are detected. If you find
50
- other reasons a ` Re_pcre ` pattern may opt, please file a bug report.
51
- - Is it feasible to cover any reasonable ground with exhaustiveness checks?
52
- No attempt is currently made, and no warning is issued for a missing
53
- catch-all case.
44
+ ## Limitations
45
+
46
+ ### No Pattern Guards
47
+
48
+ Pattern guards are not supported. This is due to the fact that all match
49
+ cases are combined into a single regular expression, so if one of the
50
+ patterns succeed, the match is committed before we can check the guard
51
+ condition.
52
+
53
+ ### No Exhaustiveness Check
54
+
55
+ The syntax extension will always warn if no catch-all case is provided. No
56
+ exhaustiveness check is attempted. Doing it right would require
57
+ reimplementing full regular expression parsing, and presumably an algorithm
58
+ which would produce a counter-example as expands the branches of the regular
59
+ expression.
60
+
61
+ ## Bug Reports
62
+
63
+ The processor is currently new and not well tested. Please break it and
64
+ file bug reports in the GitHub issue tracker. Any exception raised by
65
+ generated code except for ` Match_failure ` is a bug.
You can’t perform that action at this time.
0 commit comments