rustdo c no_main "атрибут уровня ящика должен находиться в модуле root" - PullRequest
2 голосов
/ 09 февраля 2020

При использовании внешнего атрибута no_main в Rust cargo doc жалуется на unused attribute и на то, что crate-level attribute should be in the root module.

Я использую автомобиль go 1.42.0-nightly.

Соответствующий код:

// main.rs

#![no_main]

Это происходит только при вызове cargo doc; cargo build работает как положено.

Я видел https://github.com/rust-lang/rust/issues/62184, который, однако, не содержит никакого ответа. Я также видел https://github.com/rust-lang/rust/issues/43144, откуда я следовал до https://github.com/rust-lang/rust/pull/64471, но даже если этот запрос на слияние уже объединен, проблема остается.

Как решить это предупреждение?

1 Ответ

2 голосов
/ 09 февраля 2020

Это предупреждение вызвано известной ошибкой в ​​cargo / rustdo c, которая, однако, еще не исправлена.

На данный момент эту проблему можно легко обойти, используя cfg_attr атрибут в сочетании с rustdo c 's cfg(doc) следующим образом:

// main.rs

#![cfg_attr(not(doc), no_main)]

Этот код применяет no_main атрибут во всех случаях, кроме случаев, когда документация строится.

...