2个版本
0.1.1 | 2023年5月29日 |
---|---|
0.1.0 | 2023年5月29日 |
#1516 在 过程宏
8KB
简单的文档化的功能门
这个crate提供了feature_gate
和feature_gate_ex
宏,用于简单的#[cfg(feature = "...")]
宏,这些宏在docs.rs上有良好的文档。
稳定Rust
请注意,为了在稳定Rust上正常工作,目前需要在Cargo.toml
中添加以下内容(请参阅自定义构建的元数据)
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
示例
feature_gate
宏允许指定单个功能
use feature_gate::feature_gate;
#[feature_gate("test")]
struct FeatureGated;
#[test]
fn it_works() {
let _ = FeatureGated {};
}
feature_gate_ex
宏允许指定一组复杂的需求
use feature_gate::feature_gate_ex;
#[feature_gate_ex(any(test, feature = "test"))]
struct FeatureGated;
#[test]
fn it_works() {
let _ = FeatureGated {};
}
lib.rs
:
简单的文档化的功能门
这个crate提供了feature_gate
和feature_gate_ex
宏,用于简单的#[cfg(feature = "...")]
宏,这些宏在docs.rs上有良好的文档。
稳定Rust
请注意,为了在稳定Rust上正常工作,目前需要在Cargo.toml
中添加以下内容(请参阅自定义构建的元数据)
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
示例
feature_gate
宏允许指定单个功能
use feature_gate::feature_gate;
#[feature_gate("test")]
struct FeatureGated;
#[test]
fn it_works() {
let _ = FeatureGated {};
}
feature_gate_ex
宏允许指定一组复杂的需求
use feature_gate::feature_gate_ex;
#[feature_gate_ex(any(test, feature = "test"))]
struct FeatureGated;
#[test]
fn it_works() {
let _ = FeatureGated {};
}
依赖项
~300–750KB
~18K SLoC