cgp-tests 0.6.0-beta

Context-generic programming meta crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use cgp::prelude::*;

#[cgp_auto_getter]
pub trait HasFoo<Foo> {
    fn foo(&self, _tag: PhantomData<Foo>) -> &Foo;
}

#[derive(HasField)]
pub struct App {
    pub foo: u32,
}

#[test]
fn test_generic_auto_getter() {
    let app = App { foo: 42 };

    assert_eq!(app.foo(PhantomData::<u32>), &42);
}