<分区>
这更像是一个风格问题,但仍然很有趣。是否可以对事物进行分组,使属性只出现一次?
例如,在下面的代码中我使用了同一个属性三次:
#[cfg(target_os = "linux")]
extern crate nix;
#[cfg(target_os = "linux")]
extern crate libc;
#[cfg(target_os = "linux")]
use std::{
mem,
};
标签 rust
<分区>
这更像是一个风格问题,但仍然很有趣。是否可以对事物进行分组,使属性只出现一次?
例如,在下面的代码中我使用了同一个属性三次:
#[cfg(target_os = "linux")]
extern crate nix;
#[cfg(target_os = "linux")]
extern crate libc;
#[cfg(target_os = "linux")]
use std::{
mem,
};
最佳答案
您可以使用辅助模块来配置整个模块,然后重新导出其内容:
#[cfg(target_os = "linux")]
mod linux {
extern crate nix;
extern crate libc;
pub use std::{
mem,
};
}
#[cfg(target_os = "linux")]
use linux::*;
尽管如此,您仍然需要两次提及 cfg。
关于rust - 是否可以对需要相同属性的项目进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51962931/