I found out it's a problem with using an index [] template a(V...){ alias V a; } template b(V...){ alias a!(V) b; // This compiles OK // alias a!(V[0]) b; // But this gives the error // alias a!(V[0..length]) b; // And so does this }