pascalabcnet/TestSuite/generics57.pas

23 lines
284 B
ObjectPascal
Raw Normal View History

2021-08-29 13:22:33 +03:00
var i: integer;
type
IInt = interface
procedure p1(x: integer);
end;
t1 = class(IInt)
public procedure p1(x: integer);
begin
i := x;
end;
end;
procedure p0<T>(a: T);
where T: IInt;
begin
a.p1(1);
end;
begin
p0(new t1);
assert(i = 1);
end.