mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-30 11:20:23 +02:00
* patch by Aleksa Todorovic to fix generic interfaces, resolves #16100
git-svn-id: trunk@16477 -
This commit is contained in:
parent
8a5c99599e
commit
f570934b45
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -10660,6 +10660,7 @@ tests/webtbs/tw16034.pp svneol=native#text/plain
|
|||||||
tests/webtbs/tw16040.pp svneol=native#text/plain
|
tests/webtbs/tw16040.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw16065.pp svneol=native#text/pascal
|
tests/webtbs/tw16065.pp svneol=native#text/pascal
|
||||||
tests/webtbs/tw16083.pp svneol=native#text/plain
|
tests/webtbs/tw16083.pp svneol=native#text/plain
|
||||||
|
tests/webtbs/tw16100.pp svneol=native#text/pascal
|
||||||
tests/webtbs/tw16108.pp svneol=native#text/plain
|
tests/webtbs/tw16108.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw16130.pp svneol=native#text/pascal
|
tests/webtbs/tw16130.pp svneol=native#text/pascal
|
||||||
tests/webtbs/tw16161.pp svneol=native#text/pascal
|
tests/webtbs/tw16161.pp svneol=native#text/pascal
|
||||||
|
@ -5176,7 +5176,7 @@ implementation
|
|||||||
begin
|
begin
|
||||||
result:=false;
|
result:=false;
|
||||||
{ interfaces being implemented through delegation are not mergable (FK) }
|
{ interfaces being implemented through delegation are not mergable (FK) }
|
||||||
if (IType<>etStandard) or (MergingIntf.IType<>etStandard) or not(assigned(ProcDefs)) then
|
if (IType<>etStandard) or (MergingIntf.IType<>etStandard) or not(assigned(ProcDefs)) or not(assigned(MergingIntf.ProcDefs)) then
|
||||||
exit;
|
exit;
|
||||||
weight:=0;
|
weight:=0;
|
||||||
{ empty interface is mergeable }
|
{ empty interface is mergeable }
|
||||||
|
22
tests/webtbs/tw16100.pp
Normal file
22
tests/webtbs/tw16100.pp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{$mode objfpc}
|
||||||
|
{$interfaces corba}
|
||||||
|
type
|
||||||
|
MyInterface = interface
|
||||||
|
end;
|
||||||
|
|
||||||
|
generic MyGenInterface<_T> = interface
|
||||||
|
procedure MyProc(x:_T);
|
||||||
|
end;
|
||||||
|
|
||||||
|
MyGenInterface_Pointer = specialize MyGenInterface<Pointer>;
|
||||||
|
|
||||||
|
MyClass = class(MyInterface,MyGenInterface_Pointer)
|
||||||
|
procedure MyProc(x:Pointer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure MyClass.MyProc(x:Pointer);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user