Руководство по Ada (Ada 2022)
3.7.2 Операции с дискриминируемыми типами
Если дискриминируемый тип имеет default_expression для своих дискриминантов, то разрешаются неявные переменные типа, и дискриминанты такой переменной могут быть изменены присваиванием переменной. Для формального параметра такого типа предоставляется атрибут для определения, является ли соответствующий фактический параметр ограниченным или неограниченным.
Статическая семантика
Для префикса A, являющегося дискриминируемым типом (после любого неявного разыменования), определен следующий атрибут:
A'Constrained
Возвращает значение True, если A обозначает константу, значение, помеченное объект или ограниченную переменную, и False в противном случае. Значение этого атрибута имеет предопределенный тип Boolean.
Ошибочное выполнение
Выполнение конструкции является ошибочным, если конструкция содержит составную часть, представляющую собой имя, обозначающее подкомпонент, зависящий от дискриминантов, и значение любого из этих дискриминантов изменяется в ходе этого выполнения между оценкой имени и последним использованием (в рамках этого выполнения) подкомпонента, обозначаемого именем.