pascalabcnet/TestSuite/generics29.pas
Бондарев Иван d56b2b1009 bug fix #1309
2019-07-14 18:59:07 +02:00

27 lines
653 B
ObjectPascal

function DQNToNullable<T>(v: T): System.Nullable<T>; where T: record;
begin
Result := new System.Nullable<T>(v);
end;
type TClass = class
function DQNToNullable<T>(v: T): System.Nullable<T>; where T: record;
begin
Result := new System.Nullable<T>(v);
end;
end;
type TClass2 = class
static function DQNToNullable<T>(v: T): System.Nullable<T>; where T: record;
begin
Result := new System.Nullable<T>(v);
end;
end;
begin
var x := DQNToNullable(2);
assert(x.Value = 2);
assert(DQNToNullable(2).Value = 2);
var o := new TClass;;
assert(o.DQNToNullable(3).Value = 3);
assert(TClass2.DQNToNullable(3).Value = 3);
end.