[fpc-pascal] Is is impossible to extend a generic class in fpc 2..6.4?

Sven Barth pascaldragon at googlemail.com
Mon Sep 22 07:47:22 CEST 2014


On 22.09.2014 05:32, Dennis Poon wrote:
> Is it impossible to extend a generic class?
> I tried to extend a generic class "TFPGMap" in fpl unit.
>
> its original definition is:
>       generic TFPGMap<TKey, TData> = class(TFPSMap)
>
> I want to extend it by:
>    generic TMyMap<TKey, TData>=class(TFPGMap )
>    end;
>
> I got this error: Generics without specialization cannot be used as a
> type for a variable
>
>
> Then I tried:
>    generic TMyMap<TKey, TData>=class(generic TFPGMap<TKey, TData> )
>    end;
>
> but I got Error: Identifier not found "generic"

The correct syntax would be:

=== code begin ===

type
   generic TMyMap<TKey, TData> = class(specialize TFPGMap<TKey, TData>)
   end;

=== code end ===

> I know it was not possible in the past. Just want to know whether it is
> still not possible in fpc 2.6.4.

2.6.4 has received *no* fixes related to generics compared to 2.6.0 or 
2.6.2.

Regards,
Sven



More information about the fpc-pascal mailing list