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

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


Oh wait, nevermind, that transformation can already be done in sys_core_fold. Will do that there.

-- 
Anthony Ramine

Le 4 mars 2014 à 22:36, Anthony Ramine <n.oxyde@REDACTED> a écrit :

> 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