>>53
> struct Y: X<Y,T>{};
ここで X に渡してる Y が、 template 引数を受け取った後に実体化される型 Y<T> と解釈されてしまうらしい。
解決法はわかんないけど。