Модуль Grammar::Tracer
работает путем экспорта пользовательского метакласса, который будет использоваться вместо метакласса по умолчанию для ключевого слова grammar
.Это должно быть уже на месте до того, как будет найдено ключевое слово grammar
, поскольку именно тогда мы разрешаем и фиксируем метакласс, который будет использоваться для объявленного типа.
Решение состоит в том, чтобы поставить use
заявление перед объявлением grammar
:
use Grammar::Tracer;
unit grammar MyGrammar;