diff options
author | Anthony Ramine <[email protected]> | 2014-03-04 23:36:18 +0100 |
---|---|---|
committer | Anthony Ramine <[email protected]> | 2014-03-04 23:37:09 +0100 |
commit | 2b5acdb32471f2eb469221007fc70dc24db271b6 (patch) | |
tree | 03211875c8c8b23dba7b6bc5a281702808bef3d2 /lib/compiler/test/warnings_SUITE.erl | |
parent | c199bd2923e7d733e60beb9bd27b3852cbb2e699 (diff) | |
download | otp-2b5acdb32471f2eb469221007fc70dc24db271b6.tar.gz otp-2b5acdb32471f2eb469221007fc70dc24db271b6.tar.bz2 otp-2b5acdb32471f2eb469221007fc70dc24db271b6.zip |
Support maps in cerl_clauses:match/2
Without this, sys_core_fold could crash on non-matching clauses using maps
patterns.
Reported-by: Ulf Norell
Diffstat (limited to 'lib/compiler/test/warnings_SUITE.erl')
-rw-r--r-- | lib/compiler/test/warnings_SUITE.erl | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/lib/compiler/test/warnings_SUITE.erl b/lib/compiler/test/warnings_SUITE.erl index 16d15a59e5..f63299ea35 100644 --- a/lib/compiler/test/warnings_SUITE.erl +++ b/lib/compiler/test/warnings_SUITE.erl @@ -37,7 +37,8 @@ -export([pattern/1,pattern2/1,pattern3/1,pattern4/1, guard/1,bad_arith/1,bool_cases/1,bad_apply/1, - files/1,effect/1,bin_opt_info/1,bin_construction/1, comprehensions/1]). + files/1,effect/1,bin_opt_info/1,bin_construction/1, comprehensions/1, + maps/1]). % Default timetrap timeout (set in init_per_testcase). -define(default_timeout, ?t:minutes(2)). @@ -61,7 +62,7 @@ groups() -> [{p,test_lib:parallel(), [pattern,pattern2,pattern3,pattern4,guard, bad_arith,bool_cases,bad_apply,files,effect, - bin_opt_info,bin_construction,comprehensions]}]. + bin_opt_info,bin_construction,comprehensions,maps]}]. init_per_suite(Config) -> Config. @@ -552,6 +553,26 @@ comprehensions(Config) when is_list(Config) -> run(Config, Ts), ok. +maps(Config) when is_list(Config) -> + Ts = [{bad_map, + <<" + t() -> + case maybe_map of + #{} -> ok; + not_map -> error + end. + x() -> + case true of + #{} -> error; + true -> ok + end. + ">>, + [], + {warnings,[{3,sys_core_fold,no_clause_match}, + {9,sys_core_fold,nomatch_clause_type}]}}], + run(Config, Ts), + ok. + %%% %%% End of test cases. %%% |