doc_feature_examples/
lib.rs

1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2pub fn add(left: u64, right: u64) -> u64 {
3    left + right
4}
5
6#[cfg(feature = "foo")]
7pub fn foo() -> u64 {
8    1 + 1
9}
10
11#[cfg(target_arch = "wasm32")]
12pub fn wasm_only_func() -> u64 {
13    1 + 1
14}
15
16pub struct MyStruct {
17    pub field: u64
18}
19
20#[cfg(feature = "traits")]
21impl Default for MyStruct {
22    fn default() -> Self {
23        Self { field: 0 }
24    }
25}
26
27#[cfg(test)]
28mod tests {
29    use super::*;
30
31    #[test]
32    fn it_works() {
33        let result = add(2, 2);
34        assert_eq!(result, 4);
35    }
36}