I wonder why there is no static switch (analogue to static if)?
Because especially if you overload a lot of operators (which is done e.g. in the definition of complex and bigint) I would think something like

T opOpAssign(string op, T)(T x) if(op=="+" || op=="-" || op=="*" || op=="/" || op=="%" || op=="^^" || op=="&" || op=="|" || op=="^" || op=="<<" || op==">>" || op==">>>")
{
   static switch(op)
   {
   case "+":
   case "-":
      ...
      break;
   case "*":
      ...
   }
}

would look much better than

{
   static if(op=="+" || op == "-")
   {
      ...
   }
   else static if(op == "*")
   {
      ...
   }
   else
   {
      ...
   }
}

Reply via email to