On Mon, Jun 3, 2019 at 4:52 AM Dave Mitchell via RT <perlbug-followup@perl.org> wrote: > > On Fri, May 31, 2019 at 11:55:15AM -0700, Diab Jerius (via RT) wrote: > > The documentation describes its use only in the negative, e.g. when explaining > > how > > > > use v5.10.0; > > > > works via > > > > no feature ':all'; > > use feature ':5.10'; > > > > Is there a reason that one should not use ':all' positively? As in > > > > use feature ':all'; > > It defeats the whole purpose of feature.pm - which is to allow us to > add new features to perl which are not backwards compatible. > > If people start adding "use feature ':all'" to their programs, then their > programs may break on future releases of perl. If lots of people start > adding it, then we'll be told that we can't add a new feature to perl > because it would break too many existing modules that people reply on. So > we'd have to introduce "reluctant" features which aren't enabled by > ':all'; then we'd have to add ':really_all', then that would be abused, > and so the cycle continues. Thanks. I didn't appreciate that perspective. While the documentation doesn't explicitly indicate that ':all' may be used on import, it is relatively uncommon to come across an export tag that shouldn't be used on import, so for those who don't grasp the intricacies of its use (i.e., apparently me) it creates a bit of a grey area. Perhaps it might help to put in an explicit statement indicating that ':all' should never be used to turn features on, and additionally, to have import() complain if it is used in that context? DiabThread Previous