英語版
このページの英語版を見る

dmd.inline

インライン化を実行する。 -inlineフラグで有効にした最適化パスである。
ASTが走査され、inlinecost.d を使用して、すべての関数呼び出しがインライン化されるかどうか検討される。 このコストが閾値以下であれば、関数呼び出しはインライン化される。
Authors:

ソース inline.d

void inlineScanModule(Module m);
モジュール m の関数実装をスキャンし、インライン化できる関数を探す、 その場でインライン化する。
Parameters:
Module m スキャンするモジュール
Expression inlineCopy(Expression e, Scope* sc);
関数パラメーターのデフォルト引数の"インラインコピー"を行う。

トド https://issues.dlang.org/show_bug.cgi?id=4820の場合のハックはまだ疑問が残る。 おそらく、フロントエンドで'null'コンテキストを持つデリゲート式を適切に扱う必要があるだろう。