Am 04.09.2013 09:41, schrieb Xiangrong Fang:
Hi Sven,
Not to "debate" the syntax, but just ask :-)
1) in my second example: proc_ints: specialize ProcessArray<LongInt>;
it is "specialized". Why this is still not consistent ?
You declared "proc_ints" as a variable and specialized a procedure. That
is not correct from the typing point of view. We'd either need a new
section type for procedure/function specializations or we ensure that
the following works:
=== code begin ===
type
generic TArrayProc<T> = procedure(arr: TArray<T>);
var
proc_ints: specialize TArrayProc<LongInt> = @specialize
ProcessArray<LongInt>;
=== code end ===
2) in delphi mode, "specialize" is not required anywhere, right? If
so, can you write an example of your new proposal in delphi mode?
btw, my last experience with Delphi is 6 or 7, there was no generics yet.
The same just without "generic" and "specialize". This is then Delphi
compatible (except the fact that Delphi does not support global generic
functions/procedures, but only generic methods).
Regards,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal