Created on 2014-07-31.00:00:00 last changed 116 months ago
Notes from the May, 2015 meeting:
CWG felt that this kind of usage should be permitted only via a “simple” alias, in which the SFINAE is the same as the template to which it refers and all the template parameters are used. See also issue 1286.
In an example like
template<typename T> struct A {
struct B {
void f();
};
};
template<typename T> using X = typename A<T>::B;
template<typename T> void X<T>::f() { } // #1
should #1 be considered a definition of A<T>::B::f()?
Analogy with alias-declarations would suggest that it should, but alias template specializations involve issues like SFINAE on unused template parameters (see issue 1558) and possibly other complications.
History | |||
---|---|---|---|
Date | User | Action | Args |
2015-05-25 00:00:00 | admin | set | messages: + msg5524 |
2015-05-25 00:00:00 | admin | set | status: open -> drafting |
2014-07-31 00:00:00 | admin | create |