纯函数返回纯意味着什么?
pure int doubleMe(in int i) pure { return i * 2; }
代码编译没有给出redundant storage class pure
,所以我想这不是一个bug?
Pure是一个函数属性。函数属性可以放在返回类型之前,也可以放在参数列表之后。在这两种情况下,它都描述了函数,而不是返回类型。因此,不存在"返回纯值"这回事。
应该会抛出一个错误,这可能是一个bug。其他一些属性也会忽略同样的事情,比如@safe.
pure int
可能应该忽略。然而,我相信我们有它的原因是一个函数可能返回一个"纯函数"。在这种情况下,我认为这是否是一个bug是有争议的。