Issue 9148 - 'pure' is broken

https://issues.dlang.org/show_bug.cgi?id=9148

A nested function inside `pure` function should also be typed as `pure`, and considered as weak purity function.
This is new behaviour introduced by this pull request, right? I guess this makes some sense, but it is a breaking language change. Also, I'd prefer to just have attribute inference for local functions instead because that is more general and wouldn't be a possible cause of annoyance.