diff options
author | Anthony Ramine <[email protected]> | 2014-03-25 03:00:15 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-03-25 04:34:24 +0100 |
commit | 7a72ebab6811bea482ae0ad9fc25c7f4820226fe (patch) | |
tree | b086da6562d03ba74e7fb872b46210ab8b12b8cf /lib/dialyzer/src | |
parent | c2b4eab25c907f453a394d382c04cd04e6c06b49 (diff) | |
download | otp-7a72ebab6811bea482ae0ad9fc25c7f4820226fe.tar.gz otp-7a72ebab6811bea482ae0ad9fc25c7f4820226fe.tar.bz2 otp-7a72ebab6811bea482ae0ad9fc25c7f4820226fe.zip |
Correctly handle non-matching patterns against literal values
The pass sys_core_fold did not correctly handle non-matching patterns in code
such as:
0 = case <<>> of
<<>> -> 0;
a -> 1
end.
Function case_opt_lit/3 is rewritten in two passes to first remove any
non-matching clause and only then potentially remove the related patterns
in each clause.
Reported-by: Ulf Norell
Diffstat (limited to 'lib/dialyzer/src')
0 files changed, 0 insertions, 0 deletions