>>308
さらに f<(unsigned)-2>, f<(unsigned)-3> ...
と実体化されてゆき、コンパイルが破綻するから。
もしくはコンパイルを破綻させないために設定してある
テンプレートの深さの制限を超えるから。