Issue #16221 has been updated by eric sorenson. Status changed from Investigating to Closed
I understand the use-case but I agree with Daniel; the behaviour as it is now is more correct, predictable, and unsurprising, than what happened before. It is a user-facing change and we'll definitely have to call it out; I'm less certain about emitting deprecation warnings since people can reasonably *intend* to get the new behaviour. ---------------------------------------- Bug #16221: Passing undef as argument to classes & defines overrides default parameter https://projects.puppetlabs.com/issues/16221#change-70942 Author: Erik Dalén Status: Closed 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.
