(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp0x/
lambda/
lambda-ice22.C
// PR c++/79488
// { dg-do compile { target c++11 } }

int f();
static int g __attribute__((__weakref__("f")));

template <typename Fn> struct res {
  static Fn val();
  using type = decltype(val()()); // { dg-error "no match for call" }
};

template <typename Fn> struct A {
  template <typename T> void set_result(T) {}

  virtual void run() {
    auto boundfn = []() -> typename res<Fn>::type{};
    set_result(boundfn);
  }
};

struct F {
  void operator()() &;
};

A<F> t;