On Mon, 20 Jun 2022 14:45:48 +0100 Dave Mitchell <davem@iabyn.com> wrote: > So... > > A while back, we collectively agreed that the smartmatch operator > and the when() keyword (which sometimes uses smartmatch under the > hood), had fundamental design flaws, and we retrospectively made > ~~/given/when/break experimental in 5.18.0 (nine years ago!). > > Since then we have failed to reach a consensus as to how these should > be fixed, or indeed whether they should removed altogether. This is an > unhappy state of affairs. > > I propose that right now (so appearing in 5.38.0), we disable C<~~> > and when(), and possibly C<given> and C<break> too. Any attempt to > use them will give a meaningful compile-time error (as opposed to a > plain syntax error). Perl 5.36 already took a good step in this direction. From perl5360delta.pod: >> Finally, with this release, the experimental switch feature, >> present in every feature bundle since they were introduced in >> v5.10, has been removed from the v5.36 bundle. If you want to use >> it (against our advice), you'll have to enable it explicitly. -- Paul "LeoNerd" Evans leonerd@leonerd.org.uk | https://metacpan.org/author/PEVANS http://www.leonerd.org.uk/ | https://www.tindie.com/stores/leonerd/Thread Previous