aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2016-10-19 10:34:53 +0200
committerHans Bolinder <[email protected]>2016-10-19 10:34:53 +0200
commit9a7f521f9d6eba398af2e703863f9975911085a4 (patch)
treeddefd023f2ff97506842ac87dbdf79ba43627a94
parent826ebfba7b0624e52015fe6882aef3db758b9d03 (diff)
parent8db6c68b2d748e4a72445959f205d8d6c4dd18ed (diff)
downloadotp-9a7f521f9d6eba398af2e703863f9975911085a4.tar.gz
otp-9a7f521f9d6eba398af2e703863f9975911085a4.tar.bz2
otp-9a7f521f9d6eba398af2e703863f9975911085a4.zip
Merge branch 'gomoripeti/stdlib/ms_fix/PR-1203/OTP-13974' into maint
* gomoripeti/stdlib/ms_fix/PR-1203/OTP-13974: dbg:fun2ms: allow empty list as head
-rw-r--r--lib/stdlib/src/ms_transform.erl2
-rw-r--r--lib/stdlib/test/ms_transform_SUITE.erl2
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/stdlib/src/ms_transform.erl b/lib/stdlib/src/ms_transform.erl
index c0eea652e7..98745b13f3 100644
--- a/lib/stdlib/src/ms_transform.erl
+++ b/lib/stdlib/src/ms_transform.erl
@@ -451,6 +451,8 @@ check_type(_,[{record,_,_,_}],ets) ->
ok;
check_type(_,[{cons,_,_,_}],dbg) ->
ok;
+check_type(_,[{nil,_}],dbg) ->
+ ok;
check_type(Line0,[{match,_,{var,_,_},X}],Any) ->
check_type(Line0,[X],Any);
check_type(Line0,[{match,_,X,{var,_,_}}],Any) ->
diff --git a/lib/stdlib/test/ms_transform_SUITE.erl b/lib/stdlib/test/ms_transform_SUITE.erl
index 1c5faa960b..f35013b1b2 100644
--- a/lib/stdlib/test/ms_transform_SUITE.erl
+++ b/lib/stdlib/test/ms_transform_SUITE.erl
@@ -296,6 +296,8 @@ basic_dbg(Config) when is_list(Config) ->
compile_and_run(<<"dbg:fun2ms(fun([A,B]) -> bindings() end)">>),
[{['$1','$2'],[],['$_']}] =
compile_and_run(<<"dbg:fun2ms(fun([A,B]) -> object() end)">>),
+ [{[],[],[{return_trace}]}] =
+ compile_and_run(<<"dbg:fun2ms(fun([]) -> return_trace() end)">>),
ok.
%% Test calling of ets/dbg:fun2ms from the shell.