diff options
author | Magnus Lång <[email protected]> | 2016-04-19 16:43:19 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2016-04-28 16:16:10 +0200 |
commit | f0ec1835897a017ec7d7613add1870850187b7b1 (patch) | |
tree | d723995742bb8febdab7fdc431800075a47f7a87 /lib/dialyzer | |
parent | 29253c06dd99717e8424c0418144fd95d232c38d (diff) | |
download | otp-f0ec1835897a017ec7d7613add1870850187b7b1.tar.gz otp-f0ec1835897a017ec7d7613add1870850187b7b1.tar.bz2 otp-f0ec1835897a017ec7d7613add1870850187b7b1.zip |
erl_types: Don't consider opaque keys singleton
Opaque singleton keys have the unfortunate property, unlike any other
singleton type, to overlap with other singleton types that do not have
the same internal representation. Therefore, we must not keep opaque
singletons in the Pairs list in a map type.
Diffstat (limited to 'lib/dialyzer')
-rw-r--r-- | lib/dialyzer/test/map_SUITE_data/results/opaque_key | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/lib/dialyzer/test/map_SUITE_data/results/opaque_key b/lib/dialyzer/test/map_SUITE_data/results/opaque_key index d663e7d217..fb7080cdc5 100644 --- a/lib/dialyzer/test/map_SUITE_data/results/opaque_key +++ b/lib/dialyzer/test/map_SUITE_data/results/opaque_key @@ -5,7 +5,6 @@ opaque_key_adt.erl:56: Invalid type specification for function opaque_key_adt:sm opaque_key_adt.erl:59: Invalid type specification for function opaque_key_adt:smt2/0. The success typing is () -> #{1:='a'} opaque_key_use.erl:13: The test opaque_key_use:t() =:= opaque_key_use:t(integer()) can never evaluate to 'true' opaque_key_use.erl:24: Attempt to test for equality between a term of type opaque_key_adt:t(integer()) and a term of opaque type opaque_key_adt:t() -opaque_key_use.erl:26: Function adt_tt2/0 has no local return opaque_key_use.erl:37: Function adt_mm1/0 has no local return opaque_key_use.erl:40: The attempt to match a term of type opaque_key_adt:m() against the pattern #{A:=R} breaks the opaqueness of the term opaque_key_use.erl:48: Function adt_mu1/0 has no local return @@ -14,6 +13,3 @@ opaque_key_use.erl:53: Function adt_mu2/0 has no local return opaque_key_use.erl:56: Guard test is_map(M::opaque_key_adt:m()) breaks the opaqueness of its argument opaque_key_use.erl:58: Function adt_mu3/0 has no local return opaque_key_use.erl:60: Guard test is_map(M::opaque_key_adt:m()) breaks the opaqueness of its argument -opaque_key_use.erl:62: Function adt_mtm1/0 has no local return -opaque_key_use.erl:73: Function adt_mtu1/0 has no local return -opaque_key_use.erl:78: Function adt_mtu2/0 has no local return |