On Wed, Apr 13, 2011 at 9:40 AM, R.I.Pienaar <r...@devco.net> wrote:
> Soon puppet will start warning
> if you use dynamic scoping and after that dynamic scoping will stop working
> this means 'include' as we know it will stop working and might as well
> be removed from the language.

Just to address this point... we are throwing deprecation warnings for
dynamic scoping in Statler, e.g. this manifest:

$foo = 'foo_value'

class a {
    $bar = 'bar_value'
    include b
}

class b inherits c {
    notify { $baz: } # should not generate a warning -- inherited from class c
    notify { $bar: } # should generate a warning -- uses dynamic scoping
    notify { $foo: } # should not generate a warning -- comes from top scope
}

class c {
    $baz = 'baz_value'
}

include a


will throw a warning for $bar unless you refer to it as $a::bar. I'm
not seeing the logical jump from there to  "include as we know it will
stop working" though RI? Can you elaborate?  I believe we achieved
consensus here on the list quite a while ago that it was desirable to
move towards lexical scoping.

We do have work to do to rehabilitate include vs param class
declaration, and more feedback on
http://projects.puppetlabs.com/issues/5046 would be great.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to