Я работаю над плагином Rust, который должен получить доступ к абсолютному пути границы черты.На практике это означает, что для следующего кода я хочу разрешить полный путь Debug
как std::fmt::Debug
.
use std::fmt::*;
#[foo]
trait Foo: Debug {}
Мой нынешний подход состоит в том, чтобы взять Annotatable
that MultiItemDecorator
обеспечивает для меня и шаблон сопоставления его с Annotatable::Item
, где я сопоставляю .node
с ItemKind::Trait
.Затем я сопоставляю .generic_bounds
с коллекцией GenericBound::Trait
, где я получаю .trait_ref.path
.
Эта структура, однако, содержит только path(Debug)
, что для меня недостаточно информации.