// PR c++/99980
// { dg-do compile { target c++11 } }
#define SA(X) static_assert(X, #X)
struct S {
  template<typename T>
  void f(T) noexcept(B);
  struct N {
    template<typename T>
    void f2(T) noexcept(B);
  };
  static constexpr bool B = true;
};
S s;
SA(noexcept(s.f(10)));
S::N n;
SA(noexcept(n.f2(10)));
struct Bad {
  template<typename T>
  using U = void() noexcept(B); // { dg-error "not declared" }
  template<typename T>
  friend void friendo() noexcept(B); // { dg-error "not declared" }
  static constexpr bool B = true;
};