Hello,
Test env: debian jessie amd64 - fpc 3.0.2
It seems free pascal have a bug when handling interface inheritance using generics.
When i try to compile the unit bellow, i get this error:
"interface_bug.pas(41,44) Error: Incompatible types: got
"TImplementor<System.LongInt>" expected "IParentInterface<System.LongInt>""=== CODE ===
*unit* interface_bug;
{$mode delphi}*interface*
*type*
IParentInterface<T> = *interface*
['{0F78D56E-85A6-4024-98D7-720D7C7B9573}']
*procedure* Foo;
*end*;
IChildInterface<T> = *interface*(IParentInterface<T>)
['{1AB2EB85-6843-462E-8CE4-32ECC065011E}']
*procedure* Bar;
*end*;
TImplementor<T> = class(TInterfacedObject, IChildInterface<T>)
*public*
*procedure* Foo;
*procedure* Bar;
*end*;
*var*
ParentImplementorInstance: IParentInterface<Integer>;*implementation*
*procedure* TImplementor<T>.Foo;
*begin*
*end*;
*procedure* TImplementor<T>.Bar;
*begin*
*end*;
*initialization*
ParentImplementorInstance:=TImplementor<Integer>.Create;*end*.
===========
