diff options
author | Hans Bolinder <[email protected]> | 2018-02-15 16:30:12 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2018-02-21 10:10:24 +0100 |
commit | 40a3cb7a4657175e5f385d326a63ef012f51585d (patch) | |
tree | c18d442eef54736fc59d1e9e6fc136731300ba38 /lib/dialyzer/info | |
parent | e55df241937d62ec15fedac4a9aa4c4c34fddee5 (diff) | |
download | otp-40a3cb7a4657175e5f385d326a63ef012f51585d.tar.gz otp-40a3cb7a4657175e5f385d326a63ef012f51585d.tar.bz2 otp-40a3cb7a4657175e5f385d326a63ef012f51585d.zip |
dialyzer: Correct a parameterized opaque types bug
See also https://bugs.erlang.org/browse/ERL-565.
To avoid loops, erl_types:t_is_subtype checks for equality using
unopaqued types, but in (at least) one case something is lost:
This fix makes sure that when forwarding arguments in dataflow, types
with different parameters but equal when unopaqued are considered
different.
For example, dict:dict(0, {}) and dict:dict(0, []) are equal when
unopaqued (due to how dict(_, _) is declared in module dict), but
should be considered different when forwarding args.
Diffstat (limited to 'lib/dialyzer/info')
0 files changed, 0 insertions, 0 deletions