use {efbuilder::Builder, std::fmt::Debug};
#[allow(dead_code)]
#[derive(Builder)]
pub struct Struct1<'a, 'b: 'a, T, M: Default>
where
T: Debug
{
field_1: f64,
field_2: Vec<T>,
field_3: Vec<M>,
field_4: F64,
field_5: &'a f64,
field_6: &'b f64,
}
#[allow(dead_code)]
#[derive(Builder)]
struct Struct2;
#[allow(dead_code)]
#[derive(Builder)]
struct Struct3 {
a: f64,
}
pub struct F64(f64);
pub fn build_struct_1<'a, 'b: 'a>(
f: f64,
x: &'a f64,
y: &'b f64,
z: F64,
v1: Vec<f64>,
v2: Vec<u64>) -> Struct1<'a, 'b, f64, u64>
{
Struct1Builder::new()
.field_1(f)
.field_2(v1)
.field_3(v2)
.field_4(z)
.field_5(x)
.field_6(y)
.build()
}
pub fn build_struct_1_no_builder<'a, 'b: 'a>(
f: f64,
x: &'a f64,
y: &'b f64,
z: F64,
v1: Vec<f64>,
v2: Vec<u64>) -> Struct1<'a, 'b, f64, u64>
{
Struct1 {
field_1: f,
field_2: v1,
field_3: v2,
field_4: z,
field_5: x,
field_6: y,
}
}