<div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Nov 7, 2018 at 11:06 PM Ryan Joseph <<a href="mailto:ryan@thealchemistguild.com">ryan@thealchemistguild.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I read the old thread and we need to add {$modeswitch arrayoperators} to make it work. a += [4] does work now.<br>
<br>
Also I found the thread where Sven said he fixed the "Incompatible types: got "Set Of Byte” bug in r39554 (<a href="https://bugs.freepascal.org/view.php?id=34021" rel="noreferrer" target="_blank">https://bugs.freepascal.org/view.php?id=34021</a>). It is indeed fixed but only for + operators.<br>
<br>
Do you want me to file a new bug report for := operators?</blockquote><div><br></div><div>You can temporary solve it by specializing a generic array:</div><div><br></div><div><div><font face="monospace, monospace" size="1">program project1;</font></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">{$mode objfpc}{$H+}</font></div><div><font face="monospace, monospace" size="1">{$modeswitch advancedrecords}</font></div><div><font face="monospace, monospace" size="1">{$modeswitch arrayoperators}</font></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">uses sysutils;</font></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">type</font></div><div><font face="monospace, monospace" size="1">  TIntArray = specialize TArray<integer>;</font></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">  TMyRec = record</font></div><div><font face="monospace, monospace" size="1">    a: TIntArray;</font></div><div><font face="monospace, monospace" size="1">    class operator := (right: TIntArray): TMyRec;</font></div><div><font face="monospace, monospace" size="1">  end;</font></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">class operator TMyRec.:= (right: TIntArray): TMyRec;</font></div><div><font face="monospace, monospace" size="1">begin</font></div><div><font face="monospace, monospace" size="1">  result.a := right;</font></div><div><font face="monospace, monospace" size="1">end;</font></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">var</font></div><div><font face="monospace, monospace" size="1">  r: TMyRec;</font></div><div><font face="monospace, monospace" size="1">  a: TIntArray;</font></div><div><font face="monospace, monospace" size="1">begin</font></div><div><font face="monospace, monospace" size="1">  r := specialize TArray<integer>.Create(1, 2, 3);</font></div><div><font face="monospace, monospace" size="1">  a := [1, 2, 3];</font></div><div><font face="monospace, monospace" size="1">  a += [4];</font></div><div><font face="monospace, monospace" size="1">end.</font></div></div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Silvio Clécio</div></div></div></div></div>