Am 15.08.2018 um 17:29 schrieb Michael Van Canneyt:


On Wed, 15 Aug 2018, Sven Barth via fpc-pascal wrote:


But maybe you are using mode delphi ? If so, try separating out the object definition in a separate unit which is not compiled in delphi mode.
A global operator won't help at all as (currently) the operator won't be visible during the specialization. Only if the operator is visible during the *generic's* declaration it would be picked up.

That is contrary to the class operator, which is also only visible during
specialization, after all.

Is there a reason for this behaviour ?
The operator of a record is visible together with the record, however a global operator is not. When specializing the unit scope of the declaration of the *generic* is restored thus no helpers or global operators of the current scope are visible except they are part of the type parameter. I do want to try to change this in the future, but I need to be careful to not open a different can of worms (as Delphi doesn't do it this way).

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to