pascalabcnet/TestSuite/where3.pas

16 lines
294 B
ObjectPascal
Raw Normal View History

2017-06-11 15:56:40 +03:00
function Test<T>(a: T): T; where T:constructor;
begin
Result := new T;
end;
function Test2<T>(a: T): T; where T:record;
begin
Result := a;
end;
begin
var obj := Test(new StringBuilder);
assert(obj.Length = 0);
assert(Test(new StringBuilder).Length = 0);
assert(Test2(2) = 2);
end.