Also, one other thing: you should *really* be specifying the right-hand-side array parameter as "const" there. If you don't, it will be copied in its entirety instead of being passed by reference. Basically just always pass everything as "const" (or "constref" if it's specifically a record) unless you literally can't.
On Sun, Jul 22, 2018 at 12:10 PM, Ryan Joseph <r...@thealchemistguild.com> wrote: > I mentioned this as an aside a while ago but I don’t remember getting a > response so I’d like to formally reintroduce the issue. > > Should I file a bug report for this or is it expected behavior? Personally > I’d really like to get implicit array overloads working properly. > > > > > program test; > > type > TMyClass = class > end; > > operator + (left: TMyClass; right: array of integer): TMyClass; overload; > var > i: integer; > begin > for i in right do > writeln('add ', i); > result := left; > end; > > var > c: TMyClass; > begin > c += [1, 2, 3]; // ERROR: Operator is not overloaded: "TMyClass" + > "Set Of Byte" > end. > > Regards, > Ryan Joseph > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal