// RUN: %clang_cc1 -std=c++17 -verify -emit-llvm-only %s // expected-no-diagnostics template void bar(const T &t) { foo(t); } template struct HasFriend { template friend void foo(const HasFriend &m) noexcept(false); }; template void foo(const HasFriend &m) noexcept(false) {} void f() { HasFriend x; foo(x); bar(x); }