Make sub(){42} return a mutable value
But only make it do so in lvalue context. This will be just as fast
in true rvalue context. In either case, it is still inlined.
This makes sub () { 42 } and sub () { return 42 } do the same thing.
It also means that sub () { '-'x75 } reverts back to returning a muta-
ble value, the way it did in 5.16. From now on, tweaks to constant
folding will no longer affect the mutability of the return value of a
nullary function.
‘use constant’ is unaffected. It still returns read-only values.
This was brought up in ticket #109744.