From f0ec1835897a017ec7d7613add1870850187b7b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20L=C3=A5ng?= Date: Tue, 19 Apr 2016 16:43:19 +0200 Subject: 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. --- lib/dialyzer/test/map_SUITE_data/results/opaque_key | 4 ---- 1 file changed, 4 deletions(-) (limited to 'lib/dialyzer/test/map_SUITE_data') 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 -- cgit v1.2.3