rjmccall added inline comments.
================ Comment at: test/FixIt/fixit-cxx0x.cpp:57 (void)[&, &i, &i]{}; // expected-error 2{{'&' cannot precede a capture when the capture default is '&'}} - (void)[=, this]{ this->g(5); }; // expected-error{{'this' cannot be explicitly captured}} (void)[i, i]{ }; // expected-error{{'i' can appear only once in a capture list}} ---------------- hamzasood wrote: > rjmccall wrote: > > hamzasood wrote: > > > rjmccall wrote: > > > > Shouldn't you only be accepting this in C++2a mode? > > > I'm not sure what the system is with allowing future language features as > > > extensions, but I noticed that [*this] capture is allowed as an extension > > > pre-C++17 so I figured it would make sense for [=, this] to also be > > > allowed as an extension (since the proposal mentions how it's meant to > > > increase code clarify in the presence of [*this]). > > Surely there should at least be an on-by-default extension warning? The > > behavior we're using sounds a lot more like we're treating this as a > > bug-fix in the standard than a new feature. Richard, can you weigh in here? > The extension warning for this (ext_equals_this_lambda_capture_cxx2a) is on > by default. Why did the diagnostic disappear from this file, then? https://reviews.llvm.org/D36572 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits