On Wed, Jul 15, 2015 at 12:18 PM, Trevor Vaughan <tvaug...@onyxpoint.com>
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 <r...@devco.net> wrote:
>
>>
>>
>> ----- Original Message -----
>> > From: "Trevor Vaughan" <tvaug...@onyxpoint.com>
>> > To: "puppet-dev" <puppet-dev@googlegroups.com>
>> > 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 puppet-dev+unsubscr...@googlegroups.com.
>> 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 puppet-dev+unsubscr...@googlegroups.com.
> 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 puppet-dev+unsubscr...@googlegroups.com.
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