diff options
author | Zandra <[email protected]> | 2015-12-28 12:08:32 +0100 |
---|---|---|
committer | Zandra <[email protected]> | 2015-12-28 12:08:32 +0100 |
commit | 7be5ba1d5aa0809021c69e26ddbecf29e65c1fce (patch) | |
tree | 343d12f9bc0dc0cd73ffbbc3338d4591d1b67db0 /lib/stdlib | |
parent | 7dc1b19582a61281742fd1dcc880899b72e6becb (diff) | |
parent | 4f2d5c08a08e25e9b5b1b2011a8efe2fea441049 (diff) | |
download | otp-7be5ba1d5aa0809021c69e26ddbecf29e65c1fce.tar.gz otp-7be5ba1d5aa0809021c69e26ddbecf29e65c1fce.tar.bz2 otp-7be5ba1d5aa0809021c69e26ddbecf29e65c1fce.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/stdlib')
-rw-r--r-- | lib/stdlib/src/erl_eval.erl | 2 | ||||
-rw-r--r-- | lib/stdlib/test/erl_eval_SUITE.erl | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/stdlib/src/erl_eval.erl b/lib/stdlib/src/erl_eval.erl index ca3cc43b19..568eb1c852 100644 --- a/lib/stdlib/src/erl_eval.erl +++ b/lib/stdlib/src/erl_eval.erl @@ -1184,7 +1184,7 @@ match_tuple([], _, _, Bs, _BBs) -> match_map([{map_field_exact, _, K, V}|Fs], Map, Bs0, BBs) -> Vm = try - {value, Ke, _} = expr(K, Bs0), + {value, Ke, _} = expr(K, BBs), maps:get(Ke,Map) catch error:_ -> throw(nomatch) diff --git a/lib/stdlib/test/erl_eval_SUITE.erl b/lib/stdlib/test/erl_eval_SUITE.erl index b9c4ad0a46..50fc62a00e 100644 --- a/lib/stdlib/test/erl_eval_SUITE.erl +++ b/lib/stdlib/test/erl_eval_SUITE.erl @@ -1483,6 +1483,16 @@ eep43(Config) when is_list(Config) -> " #{ K1 := 1, K2 := 2, K3 := 3, {2,2} := 4} = Map " "end.", #{ 1 => 1, <<42:301>> => 2, {3,<<42:301>>} => 3, {2,2} => 4}), + check(fun () -> + X = key, + (fun(#{X := value}) -> true end)(#{X => value}) + end, + "begin " + " X = key, " + " (fun(#{X := value}) -> true end)(#{X => value}) " + "end.", + true), + error_check("[camembert]#{}.", {badmap,[camembert]}), error_check("[camembert]#{nonexisting:=v}.", {badmap,[camembert]}), error_check("#{} = 1.", {badmatch,1}), |