On Wed, Jul 15, 2015 at 12:18 PM, Trevor Vaughan <[email protected]>
wrote:

> Indeed, I did change it to that but it would still be nice to know what's
> going on so that I can stuff it into rspec and check for it.
>
>
Puppet's compiler intentionally freezes $trusted and its values.  If you
intend to support operating on arguments like this, you should be creating
a copy and not modifying the argument (probably a good rule to follow
anyway, especially for a function named "parse").


> Thanks,
>
> Trevor
>
> On Wed, Jul 15, 2015 at 2:59 PM, R.I.Pienaar <[email protected]> wrote:
>
>>
>>
>> ----- Original Message -----
>> > From: "Trevor Vaughan" <[email protected]>
>> > To: "puppet-dev" <[email protected]>
>> > Sent: Wednesday, July 15, 2015 7:50:36 PM
>> > Subject: Re: [Puppet-dev] How do you know what variables are frozen?
>>
>> > In this case, it was a custom function that was tripping things up.
>> >
>> > Looking through the code, I *think* this was the scenario:
>> >
>> > 1) Fact => trusted['certname']
>> > 2) Function call to parse_host($trusted['certname'])
>> > 3) Parse host:
>> >
>> > host = args.first
>> > host.strip! # Here's the offender
>> >
>> > I also tried seeing if dup'ing the args would work, but it copies the
>> > frozen attribute with the String object (which makes sense).
>> >
>> > So, I don't know if I was trying to modify something from a Fact or if
>> the
>> > object just happened to be carrying the 'frozen' status as it went
>> along.
>>
>> so do not use strip! use x = something.strip? this way you dont try to
>> modify anything in scope.
>>
>> --
>> 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/1753817636.200946.1436986745705.JavaMail.zimbra%40devco.net
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Trevor Vaughan
> Vice President, Onyx Point, Inc
> (410) 541-6699
>
> -- This account not approved for unencrypted proprietary information --
>
> --
> 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/CANs%2BFoWKrP%2Btj%2BJsiENkam9q7ohLGQd5-Z5Gfa%3DoE%2BsSX2D%2Bvw%40mail.gmail.com
> <https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWKrP%2Btj%2BJsiENkam9q7ohLGQd5-Z5Gfa%3DoE%2BsSX2D%2Bvw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
*Join us at **PuppetConf 2015, October 5-9 in Portland, OR - *www.
<http://www.google.com/url?q=http%3A%2F%2Fwww.&sa=D&sntz=1&usg=AFQjCNEnS7itqgvQV3E4Se1fu4Um_UapSw>
2015.puppetconf.com
<http://www.google.com/url?q=http%3A%2F%2F2015.puppetconf.com&sa=D&sntz=1&usg=AFQjCNE1uQL4Sh23Vr-XkPLa4xfNcoXSog>

*Register early to save 40%!*

-- 
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/CACZQQfOK4iJk7KcFT9_9n3pU-4U90Cxnhw2660FdafMCuYAggg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to