range_checker 0.1.2

derive-macro crate aimed to provide declarative bounds checking and filtering for structure.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fn main() {

}

use range_checker::Check;

#[derive(Debug, Check)]
pub struct Location {
    // 纬度 [-90.0, 90.0]
    #[range(-90.0..=90.0)]
    pub latitude: f64,
    // 经度 [-180.0, 180.0]
    #[range(-180.0..=180.0)]
    pub longitude: f64,
    // 海拔 [0.0, 10000.0]
    #[range(0.0..=10000.0)]
    pub altitude: f64,
}