48 lines
677 B
D
48 lines
677 B
D
struct Data
|
|
{
|
|
float inside_data;
|
|
Inner inner;
|
|
}
|
|
|
|
struct Inner
|
|
{
|
|
float inside_inner;
|
|
}
|
|
|
|
struct AganeOne(T)
|
|
{
|
|
T yo;
|
|
}
|
|
|
|
struct AganeTwo(T, U)
|
|
{
|
|
T yo_T;
|
|
U yo_U;
|
|
}
|
|
|
|
struct Other(T)
|
|
{
|
|
T what;
|
|
AganeOne!(T) agane_T;
|
|
AganeOne!(Inner) agane_inner;
|
|
}
|
|
|
|
struct One(T){ T inside_one; }
|
|
|
|
struct Outter {
|
|
struct Two(T, U){ T agane_one; U agane_two; One!(T) one_agane_one; }
|
|
}
|
|
|
|
struct A{ int inside_a;}
|
|
struct B{ int inside_b;}
|
|
|
|
|
|
void main()
|
|
{
|
|
auto from_auto = Outter.Two!(
|
|
AganeOne!(Other!Data),
|
|
AganeTwo!(A, B)
|
|
);
|
|
from_auto.agane_two.yo
|
|
}
|