D言語のコンパイル時計算でフィボナッチ数

anarchy golf - Fibonacci Numbers ですがこんな感じになりました。

import std.metastrings;
template f(int n){
    static if(n<3)
        const f=1;
    else
        const f=f!(n-1)+f!(n-2);
    pragma(msg,Format!(f));
}
const x=f!(46);

不要な空白文字や改行を削ると 133 byte です。フィボナッチ数の定義 f(n)=f(n-1)+f(n-2)、f(2)=f(1)=1 の通りに書いても時間内に計算が終わるのがかっこいい。

ところで

入力によって output を変えなければならない anarchy golf - delete blank lines が D-compile-time で解かれているのはなぜなんだろう。