Xiangrong Fang wrote 6 lines
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