vsk added a comment.

Thanks! This is definitely the right fix, since it fixes up 
implicitly-generated move constructors as well. However, I think the test can 
be simpler (while also checking that move constructors are handled correctly). 
E.g:

  struct A {
    void operator=(const A &a) {}
    void operator=(const A &&a) {}
  };
  struct B {
    A a;
    B &operator=(const B &b) = default;
    B &operator=(B &&b) = default;
  };
  int main() {
    B b1, b2;
    b1 = b2;
    b2 = static_cast<B &&>(b1);
    return 0;
  }


http://reviews.llvm.org/D16947



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to