http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56710

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
That testcase shows this is an ice-on-valid-code bug.  Reduced:

struct Dummy {
  void getDummy() const { }
};

template<typename F>
  void eachDummy(F closure) {
    Dummy d;
    closure(d);
  }

template<typename F>
void iterateDummies(F closure) {
  eachDummy([&] (const Dummy& d) {
      return closure(d);
  });
}

int main() {
  iterateDummies([] (const Dummy& d) {
      d.getDummy();
      return true;
  });
}

Reply via email to