This commit is contained in:
Ivan Bondarev 2023-11-01 21:19:02 +01:00
parent 40de6d35f3
commit 24ff02e60a

24
TestSuite/generics72.pas Normal file
View file

@ -0,0 +1,24 @@
type
GenericBase<T> = class end;
GenericObject<T> = class end;
PartialContainer<T> = partial class end;
// Можно сделать пред-описанием метода, чтоб обойтись без forward
procedure p1<T>(o: PartialContainer<T>); forward;
type
// Обязательно описать предка после описания p1
PartialContainer<T> = partial class(GenericBase<GenericObject<T>>) end;
procedure p0<T>(o: GenericBase<GenericObject<T>>) := exit;
procedure p1<T>(o: PartialContainer<T>);
begin
p0(o);
end;
begin
p1&<byte>(nil);
end.