> -- Валерий Лаптев писал(а):
> не выполняется принцип подстановкиПодставляйте y.as_X() в процедуру требующую X.

Объявление: PROCEDURE F(x: X);

Вызов: F(y.as_X())

Здесь y: Y и## Код:
```
TYPE
  Y = POINTER TO RECORD
    PROCEDURE (y: Y) as_X (): X, NEW;
  END
```
