summaryrefslogtreecommitdiff
path: root/lib/stdlib/test/erl_lint_SUITE.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <bjorn@erlang.org>2020-06-16 05:06:23 +0200
committerBjörn Gustavsson <bjorn@erlang.org>2020-06-16 11:28:46 +0200
commit8a9a443a454327cbf17120f63664caa0973e9050 (patch)
tree470078c8d3bbf30c71c15ff180f19f5f907f1f5b /lib/stdlib/test/erl_lint_SUITE.erl
parent7af22135f367ab9b94c7d6e379a30a29747173e3 (diff)
downloaderlang-8a9a443a454327cbf17120f63664caa0973e9050.tar.gz
Allow variables bound in 'try' to be used in 'of' clauses
The following program would not compile: -module(foo). baz() -> try Bar = 42 of _ -> Bar after ok end. The error message is "foo.erl:4: variable 'Bar' unsafe in 'try' (line 3)". There is no reason for 'Bar' to be unsafe, because if the pattern after `of` is reached, `Bar = 42` must have been successfully evaluated. https://bugs.erlang.org/browse/ERL-1281
Diffstat (limited to 'lib/stdlib/test/erl_lint_SUITE.erl')
-rw-r--r--lib/stdlib/test/erl_lint_SUITE.erl5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/stdlib/test/erl_lint_SUITE.erl b/lib/stdlib/test/erl_lint_SUITE.erl
index aa941e61b6..20f8407f85 100644
--- a/lib/stdlib/test/erl_lint_SUITE.erl
+++ b/lib/stdlib/test/erl_lint_SUITE.erl
@@ -1216,7 +1216,6 @@ unsafe_vars_try(Config) when is_list(Config) ->
[],
{errors,[{5,erl_lint,{unsafe_var,'R',{'try',3}}},
{7,erl_lint,{unsafe_var,'Rc',{'try',3}}},
- {11,erl_lint,{unsafe_var,'R',{'try',10}}},
{13,erl_lint,{unbound_var,'RR'}},
{13,erl_lint,{unbound_var,'Ro'}},
{13,erl_lint,{unsafe_var,'R',{'try',10}}},
@@ -1225,7 +1224,6 @@ unsafe_vars_try(Config) when is_list(Config) ->
{15,erl_lint,{unsafe_var,'R',{'try',10}}},
{15,erl_lint,{unsafe_var,'RR',{'try',10}}},
{15,erl_lint,{unsafe_var,'Ro',{'try',10}}},
- {19,erl_lint,{unsafe_var,'R',{'try',18}}},
{21,erl_lint,{unbound_var,'RR'}},
{21,erl_lint,{unsafe_var,'R',{'try',18}}},
{23,erl_lint,{unsafe_var,'Class',{'try',18}}},
@@ -1251,8 +1249,7 @@ unsafe_vars_try(Config) when is_list(Config) ->
{X,Try,R,RR,Ro,Rc,Ra,Class,Data}.
">>,
[],
- {errors,[{4,erl_lint,{unsafe_var,'R',{'try',3}}},
- {6,erl_lint,{unbound_var,'RR'}},
+ {errors,[{6,erl_lint,{unbound_var,'RR'}},
{6,erl_lint,{unbound_var,'Ro'}},
{6,erl_lint,{unsafe_var,'R',{'try',3}}},
{8,erl_lint,{unsafe_var,'Class',{'try',3}}},