読者です 読者をやめる 読者になる 読者になる

VisuakStudio2013のバグ?エイリアステンプレートにエイリアステンプレートを使うとC2955エラーを吐く

この問題解決は不具合があります。この問題についてはこちらをご覧ください

VisualStudio2013のバグ?alias templateにT::valueやT::typeやvariadic-templateを使うと不都合が起こる - TXT.TXT

テストコード

#include<iostream>
#include<typeinfo>

namespace test
{
	template<class T>
	struct Pack	{ using type = T; };
	template<class T>
	using UnPack = typename T::type;
	template<class T>
	using UnPack2 = UnPack<UnPack<T>>;
}

int main()
{
	using namespace test;
	using T = Pack<Pack<int>>;
	using R = UnPack2<T>;
	//using R = UnPack<UnPack<T>>;
	std::cout << typeid(R).name();
}

error C2955: 'test::UnPack' : エイリアス テンプレート を使用するには テンプレート 引数リストが必要です

上記の通り。私は悪くない

他のコンパイラで試した結果
Clang
[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ
GCC
[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ

他二つではちゃんと動く