pascalabcnet/TestSuite/lambdas_generics9.pas
Ivan Bondarev 5d4f7091fe fix #2281
fix #2278
2020-12-28 18:16:22 +01:00

25 lines
355 B
ObjectPascal

type
t0 = abstract class end;
t1<T> = class
where T: t0, constructor;
i: byte;
function MakeT := new T;
function f1(x: byte): ()->T := ()->
begin
i := x;
Result := MakeT;
end;
end;
t2 = class(t0) end;
begin
var a := new t1<t2>;
var obj := a.f1(5)();
assert(a.i = 5);
end.