#![allow(dead_code)]
#![deny(proc_macro_derive_resolution_fallback)]
use quick_builder::QuickBuilder;
#[derive(QuickBuilder)]
pub struct Foo {
first: i32,
second: u32,
}
#[derive(getset::Getters, QuickBuilder)]
pub struct Bar {
#[invariant(|f|*f>0)]
#[getset(get)]
first: u32,
#[getset(get)]
second: i8,
}
#[derive(derive_getters::Getters, QuickBuilder)]
pub struct Baz {
#[invariant(|f|*f>0)]
#[getter(copy)]
first: u32,
second: i8,
}
#[test]
fn integration_test_works() {
let _foo = Foo::builder().first(1).second(2).build();
let bar = Bar::builder().first(1).second(2).build().unwrap();
let _first: &u32 = bar.first();
let _second: &i8 = bar.second();
let baz = Baz::builder().first(1).second(2).build().unwrap();
let _first: u32 = baz.first();
let _second: &i8 = baz.second();
}