Issue #16116 has been reported by Nick Fagerlund.
----------------------------------------
Bug #16116: Arrays and hashes are mutable; new members can be added and
existing values changed
https://projects.puppetlabs.com/issues/16116
Author: Nick Fagerlund
Status: Unreviewed
Priority: Normal
Assignee:
Category:
Target version:
Affected Puppet version:
Keywords:
Branch:
Courtesy Henrik: Puppet doesn't let you reassign variables within a given
scope, but it lets you change the values of hashes and arrays by mucking with
their members. That seems wrong.
$myary = ['zero', 'one', 'two']
$myhash = {first => 'one', second => 'two', third => 'three'}
$myary[3] = 'three' #can insert new element
$myary[3] = 'something else' #can reassign
notice($myary[3])
$myhash[fourth] = 'four' #can insert new element
$myhash[fourth] = 'something else' #can't reassign, fails compilation
notice($myhash[fourth])
$myary += ['four'] #can't append in same scope, fails compilation
AND it's inconsistent, so obviously SOMETHING is whacked, even if we actually
do want these objects to be mutable.
I don't know what we should do about this. I think the extent to which this is
being used in the wild is completely unknown.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.