const_guards 0.1.3

An attribute macro for compile time constraints on const generics
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
#![feature(specialization)]

extern crate const_guards;
use const_guards::guard;

fn main() {
    let _ = B([0; 1]);
}

unsafe trait A<const N: usize> {}
struct B<T, const N: usize>([T; N]);

#[guard(N > 0)]
default unsafe impl<T, const N: usize> A<N> for B<T, N> where T: Eq {}