Eigenpoll : D wish list : constant operater overloading
static class Test(int t){
const i=t;
//nested template short syntax.
//function argument can't use static class now.
template TopAdd(int u)(Test(u) v){
alias Test!(v.i+t) TopAdd;
}
template TopCmp(int u)(Test(u) v){
const TopCmp = cast(bool)(v.i==t);
}
}
static assert(Test!(1)+Test!(2)==Test!(3));
Report this item for cleanup