[Bug c++/78048] New: noexcept operator does not work properly when substitution required
michele.caini at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Oct 20 06:14:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78048
Bug ID: 78048
Summary: noexcept operator does not work properly when
substitution required
Product: gcc
Version: 6.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: michele.caini at gmail dot com
Target Milestone: ---
The following code performs an invalid substitution:
#include<type_traits>
struct S {
template<typename T>
std::enable_if_t<not std::is_void<T>::value>
g() {}
};
int main() {
static_assert(noexcept(&S::g<void>), "!");
}
GCC compiles it, but it should be rejected.
---
Here a discussion on SO:
http://stackoverflow.com/questions/40141702/noexcept-operator-and-enable-if-t-do-they-work-together
More information about the Gcc-bugs
mailing list