Am 31.12.2022 um 14:34 schrieb Vojtěch Čihák via fpc-pascal:
Hi,
I have local type TTempItem, i.e. declared inside method of a generic class.
When I write:
type
      TTempItem = record
        Item: T;
        Empty: Boolean;
      end;
I got: Identifier not found "T".
When I write:
type
      TTempItem = record
        Item: TBaseGList.T;  //name of the class
        Empty: Boolean;
      end;
I got: Generics without  specialization cannot be used as a type for a variable
And finally
type TLocalT = T;
      TTempItem = record
        Item: TLocalT;
        Empty: Boolean;
      end;
^^^ this works.
type TLocalT = TBaseGList.T;
      TTempItem = record
        Item: TLocalT;
        Empty: Boolean;
      end;
^^^ work too.
Is this intended? Or known bug?

It's a bug. Please report with a full example.

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to