2022-12-17 03:04:13 +03:00
|
|
|
|
//#2760
|
|
|
|
|
|
type
|
|
|
|
|
|
t0<T,TT> = class
|
|
|
|
|
|
where T: class;
|
|
|
|
|
|
where TT: record;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
t1<T> = class
|
|
|
|
|
|
where T: class;
|
|
|
|
|
|
// Обязательно метод
|
2022-12-17 03:24:34 +03:00
|
|
|
|
function f1<TT>(o: TT): sequence of byte;
|
2022-12-17 03:04:13 +03:00
|
|
|
|
where TT: record;
|
|
|
|
|
|
begin
|
|
|
|
|
|
//Ошибка: Невозможно инстанцировать, так как тип T не наследован от System.Exception
|
|
|
|
|
|
new t0<T,TT>;
|
|
|
|
|
|
// Обязательно yield
|
|
|
|
|
|
yield 5;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
2022-12-17 03:24:34 +03:00
|
|
|
|
Assert(t1&<object>.Create.f1(0).Single = 5);
|
2022-12-17 03:04:13 +03:00
|
|
|
|
end.
|