// PR c++/100362
// { dg-do compile { target c++14 } }

template <class>
struct Qux {
  struct A { } a_;
  A f();

  void AsyncOp() {
    [](auto) {
      struct local : decltype(a_) {};
      local ptr;
    }(0);

    [](auto) {
      struct local : decltype(f()) {};
      local ptr;
    }(0);
  }
};

void corge() {
  Qux<int> qux;
  qux.AsyncOp();
}