以下のように、戻り値の型を後ろに書けるようになる
// now std::vector<double> foo(double); // new auto foo(double) -> std::vector<double>;
戻り値の型を後置すると、decltype でパラメータを計算した型を戻り値の型にできる
template <class T, class U> auto foo(T t, U u) -> decltype(t * u) { return t * u; }
いろいろ応用できそうな気がする
N2541 New Function Declarator Syntax Wording