Кароче делай так
#[vulkan_features]
struct Foobar {
f1 : feature1,
f2 : feature2,
...
}
И это макрос раскрывается в наследование через композицию.
Имплеменьирует трейты через делегацию к self.fx.do_some_shit()
Если мы создали объект fx то фича инициализирована, значит можно запускать.