rust - 是否可以对需要相同属性的项目进行分组?

标签 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/

相关文章:

windows - OpenGL gl::GetUniformLocation仅在某些情况下无法定位统一

rust - 将选项<RefCell<T>> 转换为选项<&T>

docker - 为什么 setuid 被丢弃在 Alpine 容器中的 execve 上?

rust - 为具有 Deserialize trait bound 的泛型派生 Deserialize 时,无法推断类型参数的类型

rust - 正确拆分时,Rust不允许可变借用

rust - AsyncRead中Timeout不会超时

rust - HashMap保留Vec缓冲区和切片到缓冲区

rust - 如何在 Rust 中初始化 sigset_t 或其他用作 "out parameters"的变量?

rust - 为什么没有为明确实现的类型实现特征?

rust - 将生命传递给结构