FFORGE//RS
← Маршрут

rust / УРОВЕНЬ 4

Macro, работавшая только в своём crate

ОЦЕНКА40 МИН
01

ТЕОРИЯ / ВОСПРОИЗВЕДЕНИЕ

Что нужно восстановить

  • Использовать `$crate` и точные fragment specifiers в cross-crate macro API

Hygiene должна сохранять владельца пути

`$crate` привязывает owned helper к defining crate. Точные `expr` и `ident` fragments описывают допустимый синтаксис, сохраняя evaluation order, trailing comma и exactly-once evaluation.

КОНТРОЛЬНАЯ ТОЧКА

Какие два решения делают exported macro надёжным cross-crate API?

Выберите все подходящие варианты. Ответ засчитывается только при точном совпадении набора.

ISOLATED RUST 1.96
src/lib.rsРЕДАКТИРОВАНИЕ

02 / ОТЛАДКА

Найдите и исправьте дефект

Исправьте exported `event!`, чтобы downstream crate импортировал только macro. Сохраните syntax, zero-field, trailing comma, field order и exactly-once evaluation.

Инициализация редактора…
ОБЛАЧНЫЙ SANDBOXсеть выключена · 256 МБ · 12 с
1 / 64 KB
ВЫВОД
Runner ждёт отправки кода.