Created on 2014-09-03.00:00:00 last changed 95 months ago
[Adopted at the October, 2015 meeting as P0012R1.]
In the following example,
struct A { template<class T> T foo(T t) noexcept { return t; } }; template<class T, int (T::*fptr)(int)> struct S { A a; S() noexcept(noexcept((a.*fptr)(1))) {} }; int foo() { return noexcept(S<A,&A::foo>()); }
what should foo return? The question hinges upon whether the noexcept property of the template argument is preserved or lost in the process of substitution.
History | |||
---|---|---|---|
Date | User | Action | Args |
2017-02-06 00:00:00 | admin | set | status: accepted -> cd4 |
2015-11-10 00:00:00 | admin | set | status: open -> accepted |
2014-09-03 00:00:00 | admin | create |