Issue #16221 has been updated by eric sorenson.

Haus has a good real-world example of this: 
https://github.com/puppetlabs/puppetlabs-debbuilder/blob/master/manifests/init.pp

Previously, the behaviour would have been like leaving `$cows` off the 
debbuilder::setup::cows invocation on line 18.  Now, we pass the `undef` 
through, overriding the default in the called class with it.
----------------------------------------
Bug #16221: Passing undef as argument to classes & defines overrides default 
parameter
https://projects.puppetlabs.com/issues/16221#change-70528

Author: Erik Dalén
Status: Investigating
Priority: Normal
Assignee: eric sorenson
Category: 
Target version: 3.0.0
Affected Puppet version: 3.0.0-rc5
Keywords: parameter undef
Branch: 


In puppet 3.0.0-rc5 the default value is overridden if I pass undef as a 
parameter to a define or class.

Example:

    define bar ($param='Hello world') {
      notice($param)
    }
    define foo ($param=undef) {
      bar { 'bartest': param => $param }
    }
    foo { 'footest': }

In puppet 2.7.19 that outputs:
    notice: Scope(Bar[bartest]): Hello world
    
But in puppet 3.0.0-rc5 I get:
    Scope(Bar[test]): 


-- 
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.

Reply via email to