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.

Reply via email to