https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70343

--- Comment #2 from tower120 <tower120 at gmail dot com> ---
The workaround for all versions is use lambda that doesn't CAPTURE this, e.g.

http://coliru.stacked-crooked.com/a/e223ddb156d817c1


struct Empty{};

template<class T> 
struct Data{
    int properties_parcel4[10];

    Empty j = [](auto& self){
         self.properties_parcel4[0] = 10;
                return Empty(); 
    }(*this);    
};

int main () {
    Data<int> k;

  return 0;
}


P.S. This maybe somehow related to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636 - problem workarounds are
same.

Reply via email to