2017-09-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/79488 * g++.dg/cpp0x/lambda/lambda-ice22.C: New. From-SVN: r253270
26 lines
478 B
C
26 lines
478 B
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;
|