1 // PR c++/66684
2 // { dg-do compile { target c++11 } }
3 
4 template<typename T>
5 struct traits
6 {
footraits7   static constexpr bool foo() { return sizeof(T) > 1; }
bartraits8   static constexpr bool bar() { return sizeof(T) > 1; }
9 };
10 
11 template<typename T>
12 struct X
13 {
14   X& operator=(X&&) noexcept(traits<T>::foo());
15 };
16 
17 template<typename T>
18   X<T>&
noexcept(traits<T>::foo ()&& traits<T>::bar ())19   X<T>::operator=(X&&) noexcept(traits<T>::foo() && traits<T>::bar()) // { dg-error "different exception" }
20   { return *this; }
21