explicitly bidirectional patterns should not report Recursive definition" when used in view pattern expression position
Compile this
pattern One <- ((==One) -> True)
where One = 1
I get
test.hs:1:1: error:
Recursive pattern synonym definition with following bindings:
One (defined at test.hs:(1,1)-(1,15))
|
Compilation failed.
Note that the error is due to the usage in view pattern **expression position**.
But for explicitly bidirectional patterns, there is no recursivity going on. So this usage should be allowed.
I am testing with HEAD, but the issue is probably older.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |