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

Reply via email to