On 4/12/2011 12:51 PM, bearophile wrote:
It might really be pure but not marked as such because the discipline required to
recursively mark it and all functions it calls pure doesn’t scale much better than
any other form of discipline in programming.<
If an important module of Phobos as yours doesn't want to or can't use one
important feature of D2, like pure annotations, then it may mean the feature
isn't well implemented yet, or the design of this part of D2 has failed.
I kind of see your point, but as I note in the article I favored
flexibility here. Even if pure worked well, there are occasionally good
reasons to intentionally not use a pure function.