pascalabcnet/TestSuite/implicitexplicit15.pas

21 lines
403 B
ObjectPascal
Raw Permalink Normal View History

2021-10-24 15:17:47 +03:00
type TClass = auto class
i: integer;
end;
function operator implicit<T>(s: sequence of T): array of T; extensionmethod;
begin
Result := s.ToArray;
end;
begin
var a: array of TClass;
var s := Seq(new TClass(1), new TClass(2));
a := s;
assert(a[0].i = 1);
assert(a[1].i = 2);
var a2: array of integer;
var s2 := Seq(1, 2);
a2 := s2;
assert(a2[0] = 1);
assert(a2[1] = 2);
end.