2

純粋関数が純粋を返すとはどういう意味ですか?

pure int doubleMe(in int i) pure { return i * 2; }

コードは を指定せずにコンパイルされるredundant storage class pureので、これはバグではないと思いますか?

// DMD 2.056

4

2 に答える 2

4

Pureは関数属性です。関数属性は、戻りタイプの前またはパラメーターリストの後に置くことができます。どちらの場合も、戻り型ではなく関数について説明します。したがって、「純粋に戻る」というようなことはありません。

エラーが発生するはずです。おそらくバグです。@safeなど、他の属性でも同じことが無視されます。

于 2011-12-09T04:31:47.193 に答える
0

pure intおそらく無視する必要があります。ただし、関数が「純粋な関数」を返す可能性があるためです。その場合、バグかどうかは議論の余地があると思います。

于 2011-12-09T23:27:17.100 に答える