<div dir="ltr"><a href="https://gist.github.com/maxlapshin/a95d8a27ce93221d883a">https://gist.github.com/maxlapshin/a95d8a27ce93221d883a</a><br><div><br></div><div>when I match map in record: </div><div><br></div><div>modify(#r1{map_data = #{count := Cnt} = M}=R1) -></div><div><br></div><div>I get badarg when modify record in the end of function.</div><div><br></div><div>I've attached two files looking similar in the gist. </div><div><br></div><div><br></div><div><br></div><div><br></div><div>When I launch first, I get badarg with the line of function header:</div><div><br></div><div>







<p class="">erl -s map_test1 main</p>
<p class="">Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]</p>
<p class="">Created: {r1,#{count => 1},0}</p>
<p class="">{"init terminating in do_boot",{badarg,[{map_test1,modify,1,[{file,"map_test1.erl"},{line,11}]},{map_test1,main,0,[{file,"map_test1.erl"},{line,8}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}</p>
<p class=""><br></p><p class="">when I launch second, it works (but makes useless work).</p><p class=""><br></p><p class="">Is it a known bug? Or maybe it is not a bug, but just my misunderstanding?</p><p class=""><br></p></div><div><br></div></div>