pascalabcnet/TestSuite/implicitexplicit21.pas

20 lines
397 B
ObjectPascal
Raw Permalink Normal View History

2021-10-31 13:44:21 +03:00
var i: integer;
type
Generic1<T> = class end;
Generic2<T1,T2> = class end;
ConvTarget = class
static function operator implicit<T1, T2>(o: Generic2<T1, Generic1<T2>>): ConvTarget; where T1, T2: record;
begin
Result := new ConvTarget;
i := 1;
end;
end;
begin
var a: Generic2<byte, Generic1<word>>;
var o: ConvTarget := a;
assert(i = 1);
end.