[erlang-bugs] bug in erl_eval

Hans Bolinder hans.bolinder@REDACTED
Wed Aug 19 10:06:52 CEST 2009


[Ulf Wiger:]
> 
> The following shell dialogue didn't work out
> as expected:
> 
> 1> E = fun(N) -> if is_integer(N) -> <<N/integer>>; true -> throw(foo) 
> end end.
> #Fun<erl_eval.6.13229925>
> 2> << << (E(V))/binary >> || V <- [1,2,3] >>.
> <<1,2,3>>
> 3> catch << << (E(V))/binary >> || V <- [1,2,3,a] >>.
> {'EXIT',{{case_clause,foo},
>           [{erl_eval,expr,5},
>            {erl_eval,eval_bc1,6},
>            {erl_eval,eval_generate,7},
>            {erl_eval,eval_bc,6},
>            {erl_eval,expr,5},
>            {shell,exprs,6},
>            {shell,eval_exprs,6},
>            {shell,eval_loop,3}]}}

Thanks for the bug report. We'll fix the bug in R13B02.

Best regards,

Hans Bolinder, Erlang/OTP team, Ericsson


More information about the erlang-bugs mailing list