My issue in particular is related to a bug introduced into the future parser in 3.8.2.
The bug breaks compilation when using a reserved keyword as a classname when the future parser is enabled. See https://tickets.puppetlabs.com/browse/PUP-5036 On Thursday, 13 August 2015 21:24:36 UTC+1, John Bollinger wrote: > > > > On Thursday, August 13, 2015 at 9:57:31 AM UTC-5, Chris Rigby wrote: >> >> Hi, >> >> So I have a class called `application`, and literally hundreds of >> subclasses called `application::something` and now I've just learnt that >> 'application' is now a reserved keyword in a point release. (3.8.2). >> > > > What a mess. According to the relevant section heading in the v3.8.2 > release notes, 'application' (and 'consumes' and 'produces') are > *deprecated* for use as bare words in 3.8.2, but the text of the notes > explains that they are indeed reserved when the future parser is used. I > guess this is technically kosher given that the future parser is not > guaranteed stable, but it is NOT NICE. > > More troubling, however, is the plan to introduce these new reserved words > into the Puppet 4.2.2 point release. That's a breaking change, and as such > it should be made only in conjunction with a new major release. I can > personally attest that Chris is not the only person who has a module named > 'application', and it must be assumed that that word and the others are > used as bare words elsewhere among the many Puppet installations, too. > Even the issue description > <https://tickets.puppetlabs.com/browse/PUP-4941> is flagged as a "new > feature" (though it's not clear what's featureful about it), so even if its > breaking nature were not recognized, at minimum it should have to wait for > a minor release. In the 3.8 series, too. > > > >> >> What's going on? Are we all relegated to updating countless manifests >> that used to work fine because someone made the brash decision to use >> 'application' (which in itself is ambiguous) as a reserved keyword? >> >> > > Is it indeed intended that these words will be reserved for use as class > and type names? The issue's description couches it in terms of bare words > vs. quoting, which is relevant to values, but if class and type names are > also affected then that's a much more impactful change, admitting > situations that are not so easily reparable. > > So, yes, what's going on? > > > John > > -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/1aec7111-3034-430e-856e-f19eccda3056%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
