ジェネリックでテンプレートなラムダ

昨日からの流れでジェネリックでテンプレートなラムダを使って冗長なfizzbuzzを書いたのですが、いわゆるテンプレートなラムダ式C++14に入らなかった(見送られていた)?ことを今更ながら知りました。
この機能が使えるといわゆるテンプレートパラメータパックの展開、index_tuple idiomなどをラムダ式で利用することが出来ます。

以下のようなコードはC++14準拠ではないようです。
引数の評価順は決まってないのでcoutは本当は挟むべきじゃないです。

void f(...) {}

int main()
{
    []<sprout::index_t... Indices>(sprout::index_tuple<Indices...>)
    { f(Indices...); }(sprout::index_range<0, 10>::make());
}

そのため、C++14の実装を完全に終えたclang HEADでもコンパイル出来ませんでした。
しかし、仕様自体はそこそこまとまっていたようで早いうちに実装していたgccの-std=c++1y -pedanticではコンパイルできました。
C++17辺りで規格に入ればclangでも動くようになるかもしれません。
便利な機能なので是非Conceptと一緒に入って欲しいですね。

以下冗長なfizzbuzz(現在のC++規格には準拠していない、未来で合法化される可能性のあるコード)(gcc HEADのみで動作した)

gist7677534