blob: f1455b3b46b9b71e0dc08bf6873daf22dafb6d7e [file] [log] [blame]
// PR c++/101715
// { dg-do compile { target c++11 } }
template <typename T> struct S {
S<T> bar() noexcept(T::value); // #1
S<T> foo() noexcept(T::value); // #2
};
template <typename T> S<T> S<T>::foo() noexcept(T::value) {} // #3
template <typename T> struct S2 {
S2<T> bar1() noexcept(T::value);
S2<T> bar2() noexcept(T::value);
S2<T> bar3() noexcept(T::value);
S2<T> bar4() noexcept(T::value);
S2<T> bar5() noexcept(T::value);
S2<T> baz() noexcept(T::value2);
S2<T> foo() noexcept(T::value);
};
template <typename T> S2<T> S2<T>::foo() noexcept(T::value) {}