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 puppet-dev+unsubscr...@googlegroups.com. 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.