Issue #2053 has been updated by Nick Fagerlund.

Category changed from documentation to modules
Status changed from Accepted to Needs Decision
Assignee set to eric sorenson
Keywords set to telly deprecation modules classes namespaces names

Andy and Eric and I talked about this today, and we were pretty much in 
agreement:

* The introduction of the autoloader imposed a new and complete meaning on 
namespaces: they reflect a class or define's position in a module. 
    * This **conflicts** with the older meaning of namespaces, which was that 
namespaced classes or defines were actually CONTAINED in another class. 
* In the modules era, the fact that a class or define shares a namespace with 
another class implies no particular relationship other than the fact that they 
share a module. 
* The depth of a class or define's namespace chain carries no meaning.
* Relative class names (i.e. `include bar` does not actually mean to include 
class bar, except as an absolute last resort) obey the principle of maximum 
surprise (and user rage). 
* Asking everyone to use absolute class names (`include bar` will never declare 
class foo::bar) isn't an unreasonable burden...
    * ...Especially since that's what everyone THINKS you have to do already.

And therefore we should probably kill relative class/define names. But it's 
going to require a big deprecation period, because it will absolutely break 
large amounts of older code out in the wild. 
----------------------------------------
Bug #2053: including a class with the same name subclass yields an unexpected 
result
https://projects.puppetlabs.com/issues/2053#change-68745

Author: Lawrence Ludwig
Status: Needs Decision
Priority: Normal
Assignee: eric sorenson
Category: modules
Target version: 
Affected Puppet version: 0.24.7
Keywords: telly deprecation modules classes namespaces names
Branch: 


If you create a subclass with the same as a class you include, you get an 
unexpected result.

Test code is listed here.

http://pastie.org/409446

It appears that any include inside of subclass thinks it references itself 
first.




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