I've been following this discussion for some time. As it progressive I've found myself fighting internally, going one way and then the other about how this should really be. I keep coming back to the same place - this is a bug and Luke's original statement is very important:
The fix should require no changes to syntax or usage; merely the cessation > of use of the anchor pattern. > > I don't think adding a new 'contain' function is really appropriate. From a module developer standpoint what does 'contain' mean? Why should I use it? When should I use it? I think it will cause so many questions that you'll end up with a whole different problem on your hands. On top of that you will have people that just continue to use 'include' and the problem will still be there. In my mind, if I use 'include' or class resource syntax it means 'make sure this is in the catalog *at* or *before* this class'. I don't care what contained means. As such, I expect that when I include/declare a class that the class *and all* of it's included resources/classes/etc get put in the catalog *at* or *before* my class. On the face it's that's simple, it makes sense, and people will understand it. I think the fix for the anchor pattern needs to require no more than this from a module developer standpoint. -- 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 post to this group, send email to puppet-dev@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-dev. For more options, visit https://groups.google.com/groups/opt_out.