On Fri, Aug 5, 2011 at 22:04, Luca Olivetti <[email protected]> wrote:
>> Unfortunately, "with a = b do" is already a valid operator in FPC,
>> with different meaning.
>
> What does it mean?
>
> I tried
>
> procedure Test;
>  type tr = record
>             f1,f2:integer;
>           end;
>  var r:tr;
> begin
>  with a=r do;
> end;
>
> and trying to compile it
>  "Error: Operator is not overloaded"
>  "Error: Expression type must be class or record type"
>
> Same error even if I define a:tr.

I thought that you could overload opertator =:

type T = record  x, y: Integer; end;
operator =(A, B: T): T; begin Result := a; end;
var a, b: T;
begin
  with a = b do Writeln(x);
end.

However, FPC forbids overloading of "=" with non-Boolean result,
so it turns out you are right, "=" token is available.

-- 
Alexander S. Klenin

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to