Включить функцию Rust nightly при включенной функции проекта

#rust #rust-cargo

#Ржавчина #ржавчина-груз

Вопрос:

В библиотечном ящике я хочу сделать обратные трассировки доступными по требованию и использовать функцию Rust nightly backtrace. Для этого Rust требует настройки #![feature(backtrace)] в корне my crate.

Есть ли способ выразить, что я хочу, чтобы функция Rust nightly «отслеживала» только тогда, когда установлена функция «обратные трассировки» моего уровня создания?

Некомпилируемый псевдокод, помогающий проиллюстрировать, что я имею в виду:

 #[cfg(feature = "backtraces")]
#![feature(backtrace)]
  

Ответ №1:

Вы можете использовать cfg_attr :

 #![cfg_attr(feature = "backtraces", feature(backtrace))]
  

Если первый аргумент имеет значение true, то будут применены последующие атрибуты.