Unify patterns and function bindings
The following program:
a | True = 1
a | False = 2
produces an error (on 7.4.1 and 7.7.2012117):
Conflicting definitions for 'a'
The following two examples produce no error:
b | True = 1
| False = 2
c _ | True = 1
c _ | False = 2
I would expect a, b. and c () to have identical behaviour.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |
Edited by Mathnerd314