纯函数返回纯粹是什么意思?
pure int doubleMe(in int i) pure { return i * 2; }
代码编译时没有给出redundant storage class pure
,所以我想这不是一个bug?
// DMD 2.056
答案 0 :(得分:4)
Pure是一个函数属性。函数属性可以在返回类型之前或在参数列表之后。它描述了两种情况下的功能,而不是返回类型。因此,没有“返回纯粹”这样的东西。
它应该引发错误,这可能是一个错误。同样的事情也会被其他一些属性所忽略,比如@safe。
答案 1 :(得分:0)
pure int
可能应该被忽略。但是,我相信我们拥有它的原因是函数可能返回“纯函数”。在这种情况下,我认为它是否是一个错误是有争议的。