謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

関数の戻り値の型の推論の代わり

D言語には未だに関数の戻り値の型の推論が無い。が、delegateには存在するので以下のようにすることで推論ができる。コピペが必要なので美しくは無いが、テンプレートと組み合わせる時に重宝するはず。

import std.traits;
typeof(ReturnType!((T t){return t;})) test(T)(T t){
  return t;
}


関数テンプレートの戻り値の型の推論がdmd 2.015で対応されてしまった件。

auto test(T)(T t){
  return t;
}