24 lines
414 B
C++
24 lines
414 B
C++
// RUN: %clang_cc1 -std=c++2a -x c++ %s -verify -fsyntax-only -Wno-unused-value
|
|
// expected-no-diagnostics
|
|
|
|
namespace GithubBug44178 {
|
|
template <typename D>
|
|
struct CRTP {
|
|
void call_foo()
|
|
requires requires(D &v) { v.foo(); }
|
|
{
|
|
static_cast<D *>(this)->foo();
|
|
}
|
|
};
|
|
|
|
struct Test : public CRTP<Test> {
|
|
void foo() {}
|
|
};
|
|
|
|
int main() {
|
|
Test t;
|
|
t.call_foo();
|
|
return 0;
|
|
}
|
|
} // namespace GithubBug44178
|