This is the point I have a problem with:
2.2. One cannot opt out of nothrow or pure with auto functions.
This argument has one solid answer: don't use auto when the
need is to specify an attribute pattern explicitly.
I find this unacceptable. Thanks to the proliferation of template
code in D, it is often rather difficult to spell out return
types. Indeed, this is part of the original reason for auto's
existence. Denying return type deduction for this use case is a
major inconvenience.
As it stands, I am against this change.
It is an unfortunate situation we are in, with D working best
with everything inferred and CTFE-able, yet with those things
completely at odds with modularity.