http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60044
Bug ID: 60044
Summary: Template argument of alias template not evaluated
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: roman.perepelitsa at gmail dot com
$ cat test.cc
#include <stdio.h>
template <class T>
using Void = void;
template <class T, class E = void>
struct Foo {
const char* value = "primary template";
};
template <class T>
struct Foo<T, Void<typename T::not_found>> {
const char* value = "specialization";
};
int main() {
puts(Foo<int>().value);
}
$ g++ -std=c++11 test.cc && ./a.out
specialization
Expected output:
primary template