Re: [fpc-devel] generic constraints...

2025-07-29 Thread Martin Frb via fpc-devel
On 29/07/2025 09:53, Mattias Gaertner via fpc-devel wrote: On 7/25/25 16:31, Martin Frb via fpc-devel wrote: But     generic FooChild = class(F) - F is not a variable - TFoo in not a type (for somethnig), TFoo is a constraint The problem is the ambiguity of TFoo, because Delphi (aka modeswi

Re: [fpc-devel] generic constraints...

2025-07-29 Thread Michael Van Canneyt via fpc-devel
On Tue, 29 Jul 2025, Mattias Gaertner via fpc-devel wrote: And each list needs to be   TMyFinalItem1 =    specialize TFeatureXForList<    specialize TFeatureYForList<    specialize TFeatureZForList< specialize TFpgList   >   >   >; IMO that does no

Re: [fpc-devel] generic constraints...

2025-07-29 Thread Mattias Gaertner via fpc-devel
On 7/25/25 16:31, Martin Frb via fpc-devel wrote: On 25/07/2025 15:20, Mattias Gaertner via fpc-devel wrote: On 7/25/25 13:44, Martin Frb via fpc-devel wrote: Currently you can't do type    generic TFoo = class   procedure Bar; virtual;    end;    generic FooChild = class(F)   pro

Re: [fpc-devel] generic constraints...

2025-07-25 Thread Martin Frb via fpc-devel
On 25/07/2025 15:20, Mattias Gaertner via fpc-devel wrote: On 7/25/25 13:44, Martin Frb via fpc-devel wrote: Currently you can't do type    generic TFoo = class   procedure Bar; virtual;    end;    generic FooChild = class(F)   procedure Bar; override;    end; Can you use:    gene

Re: [fpc-devel] generic constraints...

2025-07-25 Thread Mattias Gaertner via fpc-devel
On 7/25/25 13:44, Martin Frb via fpc-devel wrote: Currently you can't do type   generic TFoo = class procedure Bar; virtual;   end;   generic FooChild = class(F) procedure Bar; override;   end; Can you use: generic FooChild = class(specialize TFoo) procedure Bar; o

[fpc-devel] generic constraints...

2025-07-25 Thread Martin Frb via fpc-devel
Currently you can't do type   generic TFoo = class procedure Bar; virtual;   end;   generic FooChild = class(F) procedure Bar; override;   end; However, without giving the TFoo you can't do the "Bar; override", because it wont know that the base class has a virtual Bar method. In m