这是一个样式问题,但仍然很有趣。是否可以对事物进行分组,以便该属性仅存在一次?
例如,在以下代码中,我使用相同的属性三次:
#[cfg(target_os = "linux")]
extern crate nix;
#[cfg(target_os = "linux")]
extern crate libc;
#[cfg(target_os = "linux")]
use std::{
mem,
};
答案 0 :(得分:8)
您可以使用帮助程序模块来对整个模块进行cfg,然后重新导出其内容:
#[cfg(target_os = "linux")]
mod linux {
extern crate nix;
extern crate libc;
pub use std::{
mem,
};
}
#[cfg(target_os = "linux")]
use linux::*;
尽管如此,您仍然必须两次提及cfg。