Am Fr., 9. Nov. 2018, 05:48 hat Ryan Joseph <[email protected]>
geschrieben:
> I’m getting a parse error here. It thinks the “U” is another type but in
> fact it’s another generic parameter and not related to “T” at all. Is this
> a bug? I don’t think the way the parsing works the compiler actually can
> discern this condition.
>
> {$mode objfpc}
> {$modeswitch advancedrecords}
>
> program generic_constants_restricted;
>
> type
> generic TList<T:tobject, U> = record
> end;
>
> begin
> end.
>
You must use ";" in that case. All parameters separated by "," are of the
same "constraint type" while ";" separates these. Essentially like a
parameter declaration for a function.
(and yes, Delphi handles it like that as well)
Regards,
Sven
>
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal