]>
Commit | Line | Data |
---|---|---|
9579e906 JM |
1 | // PR c++/66684 |
2 | // { dg-do compile { target c++11 } } | |
3 | ||
4 | template<typename T> | |
5 | struct traits | |
6 | { | |
7 | static constexpr bool foo() { return sizeof(T) > 1; } | |
8 | 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>& | |
19 | X<T>::operator=(X&&) noexcept(traits<T>::foo() && traits<T>::bar()) // { dg-error "different exception" } | |
20 | { return *this; } |