/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
TestSuite/recursive_where.pas
32 строки
682 B
Sun Serega
Errors and cleanup
27 сен 2022, 18:03
27 сен 2022, 18:03
aea94d1
Код
Авторство
О чём код?
// issue#2725 type i0 = interface end; base_i<TSelf> = interface where TSelf: base_i<TSelf>; function fi(a: TSelf): TSelf; end; base_c<TSelf> = abstract class where TSelf: base_c<TSelf>; function fc(a: TSelf): TSelf; abstract; end; class1 = class(i0, base_i<class1>) public function fi(a: class1) := a; end; class2 = class(base_c<class2>, base_i<class2>) public function fi(a: class2) := self; public function fc(a: class2): class2; override := self; end; record1 = record(i0, base_i<record1>) public function fi(a: record1) := self; end; interface1 = interface(i0, base_i<interface1>) end; begin end.