/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
TestSuite/errors/err0400.pas
22 строки
593 B
Ivan Bondarev
#2155
08 янв 2021, 21:56
08 янв 2021, 21:56
92c198c
Код
Авторство
О чём код?
type TBase = class end; TErr<T> = class(TBase) public static function operator implicit(o: T): TErr<T>; begin raise new System.InvalidOperationException; end; end; procedure p0<T>(o: TErr<T>) := exit; // обязательно вызывать p0 с шаблонным параметром p1 // если вызывать p0&<word> - выводит правильное сообщение об ошибке procedure p1<T>(q: TBase) := p0&<T>(q); // это не должно компилироваться begin var q: TBase; p1&<byte>(q); end.