File 0132-map_SUITE-Test-for-mixed-map-creation.patch of Package erlang

From c716fe6c529a749b9f9ce9716740ecb5f5363adb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Tue, 17 Oct 2017 10:23:34 +0200
Subject: [PATCH 2/7] map_SUITE: Test for mixed map creation

---
 lib/compiler/test/map_SUITE.erl | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/lib/compiler/test/map_SUITE.erl b/lib/compiler/test/map_SUITE.erl
index b74e37fac0..6ce0dfb581 100644
--- a/lib/compiler/test/map_SUITE.erl
+++ b/lib/compiler/test/map_SUITE.erl
@@ -70,7 +70,10 @@
 	t_bad_update/1,
 
         %% new in OTP 21
-        t_reused_key_variable/1
+        t_reused_key_variable/1,
+
+        %% new in OTP 22
+        t_mixed_clause/1
     ]).
 
 suite() -> [].
@@ -124,7 +127,10 @@ all() ->
         t_bad_update,
 
         %% new in OTP 21
-        t_reused_key_variable
+        t_reused_key_variable,
+
+        %% new in OTP 22
+        t_mixed_clause
     ].
 
 groups() -> [].
@@ -2161,6 +2167,21 @@ t_reused_key_variable(Config) when is_list(Config) ->
             ok
     end.
 
+t_mixed_clause(_Config) ->
+    put(fool_inliner, x),
+    K = get(fool_inliner),
+    {42,100} = case #{K=>42,y=>100} of
+                   #{x:=X,y:=Y} ->
+                       {X,Y}
+               end,
+    nomatch = case #{K=>42,y=>100} of
+                  #{x:=X,y:=0} ->
+                      {X,Y};
+                  #{} ->
+                      nomatch
+              end,
+    ok.
+
 %% aux
 
 rand_terms(0) -> [];
-- 
2.16.4

openSUSE Build Service is sponsored by