March 27
struct foo{
  int i;
}

auto foo.poke(){
  i++;//infered to be part of foo
  return this;//returns foo
}
unittest{
  foo bar;
  bar.poke.poke.i.writeln;//prints 2
  bar.i.writeln;//still 2
}

We are debating exanding op overload again; this is both:
a) nessery for importc
b) going to cause issues like autodecoding if simply enabled

I suggest this 3rd option


Should be able to use templated types:

struct Vector(T,int N){...}

auto Vector!(float,2).opBinary(string op)(typeof(this) other){...}

should be able to template types verbosely:

struct Vector(T,int N){...}

template opBinary(alias A){
  static assert(a.stringof[0..6]=="Vector");
  auto opBinary(string op)(typeof(this) other) {...}
}

please make sure opDispatch works