<div dir="auto"><div>This is because the first record constructor returns as its value the record and the seemingly second constructor then functions as a record modification. <div dir="auto"><br></div><div dir="auto">It is parsed as (<b style="font-family:sans-serif"><span lang="EN-US">#a{field1 = 1})#a{field1 = 2}</span></b></div><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra">Cheers, </div><div class="gmail_extra" dir="auto">Robby</div><div class="gmail_extra" dir="auto"><br><div class="gmail_quote" dir="auto">On 13 Apr 2017 15:27, "Minin Maxim" <<a href="mailto:Maxim.Minin@baaderbank.de">Maxim.Minin@baaderbank.de</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="DE" link="blue" vlink="purple">
<div class="m_-578244781096726485WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hello, <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">i'm confused about a very simple module like this:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">------------------------------<wbr>------------------------------<wbr>-----------<u></u><u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US">-module(sample).<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">-record (a, {field1}).<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">-export([bug/0]).<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">bug() -><u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">                [<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">                #a{field1 = 1} %% COMMA IS MISSING<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">                #a{field1 = 2},<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">                #a{field1 = 3}<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">                ].<u></u><u></u></span></b></p>
<p class="MsoNormal"><span lang="EN-US">------------------------------<wbr>------------------------------<wbr>-----------<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Why can it be compiled? <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US">Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">Eshell V8.3  (abort with ^G)<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">1> c("sample.erl").<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">{ok,sample}<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">2> sample:bug().<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">[{a,2},{a,3}]<u></u><u></u></span></b></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">And eshell do it to:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US">3> rr(sample).<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">[a]<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US">4> [#a{field1 = 1} #a{field1 = 2}, #a{field1 = 3}].<u></u><u></u></span></b></p>
<p class="MsoNormal"><b>[#a{field1 = 2},#a{field1 = 3}]<u></u><u></u></b></p>
<p class="MsoNormal"><b>5><u></u><u></u></b></p>
<p class="MsoNormal"><b><u></u> <u></u></b></p>
<p class="MsoNormal"><span lang="EN-US">Do I understand something wrong or is it a compiler bug?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks<font color="#888888"><u></u><u></u></font></span></p><font color="#888888">
<p class="MsoNormal"><span lang="EN-US">Maxim<u></u><u></u></span></p>
</font></div>
</div>

<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div></div></div>