[erlang-bugs] Internal error in v3_kernel when using funny map keys

Anthony Ramine n.oxyde@REDACTED
Tue Mar 4 22:36:22 CET 2014


Hello Björn,

So if I understand you correctly as you mentioned in one of PRs, there should be a pass sitting between v3_core and v3_kernel that would normalize such keys to variables, for example, right? Meanwhile, v3_core should just emit variables for non-literals keys until that pass exists, do we agree?

Regards,

-- 
Anthony Ramine

Le 4 mars 2014 à 09:38, Ulf Norell <ulf.norell@REDACTED> a écrit :

> -module(bug).
> f() -> #{[try a after b end] => 0}.
> 
> -module(bug).
> f() -> ok.
> g() -> #{fun f/0 => 0}.
> 
> -module(bug).
> f() -> ok.
> g() -> #{{f()} => 0}.
> 
> $ erl
> Erlang/OTP 17 [RELEASE CANDIDATE 2] [erts-6.0] [source-a74e66a] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
> 
> Eshell V6.0  (abort with ^G)
> 1> c(bug). 
> Function: f/0
> bug.erl: internal error in kernel_module;
> crash reason: function_clause
> 
>   in function  v3_kernel:map_key_clean/1
>      called as v3_kernel:map_key_clean({k_cons,[2,{file,"bug.erl"}],{k_var,[],cor4},{k_nil,[2,{file,"bug.erl"}]}})
>   in call from v3_kernel:map_group_pairs/2 (v3_kernel.erl, line 553)
>   in call from v3_kernel:map_group_pairs/1 (v3_kernel.erl, line 529)
>   in call from v3_kernel:map_split_pairs/5 (v3_kernel.erl, line 511)
>   in call from v3_kernel:expr/3 (v3_kernel.erl, line 327)
>   in call from v3_kernel:expr/3 (v3_kernel.erl, line 307)
>   in call from v3_kernel:function/2 (v3_kernel.erl, line 152)
>   in call from lists:mapfoldl/3 (lists.erl, line 1352)
> bug.erl:2: Warning: function f/0 is unused
> error
> 
> / Ulf
> 
> _______________________________________________
> erlang-bugs mailing list
> erlang-bugs@REDACTED
> http://erlang.org/mailman/listinfo/erlang-bugs




More information about the erlang-bugs mailing list