纯函数返回纯粹意味着什么?

时间:2011-12-09 04:08:03

标签: d pure-function

纯函数返回纯粹是什么意思?

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

代码编译时没有给出redundant storage class pure,所以我想这不是一个bug?

// DMD 2.056

2 个答案:

答案 0 :(得分:4)

Pure是一个函数属性。函数属性可以在返回类型之前或在参数列表之后。它描述了两种情况下的功能,而不是返回类型。因此,没有“返回纯粹”这样的东西。

它应该引发错误,这可能是一个错误。同样的事情也会被其他一些属性所忽略,比如@safe。

答案 1 :(得分:0)

pure int可能应该被忽略。但是,我相信我们拥有它的原因是函数可能返回“纯函数”。在这种情况下,我认为它是否是一个错误是有争议的。