Issue #16213 has been updated by eric sorenson.

Status changed from Unreviewed to Duplicate

What I'd really like to do is make them work correctly. Seems trivial, turns 
out to be somewhat tough, but we need to slice through the fog and fix it. 
Tracking in #5268.
----------------------------------------
Bug #16213: Dashes in class names are illegal.  So the compiler should complain 
about them!
https://projects.puppetlabs.com/issues/16213#change-70564

Author: Dustin Mitchell
Status: Duplicate
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


    class abc-def($var) {
        notice("$abc-def::var")
    }

    class {
        abc-def: var => 'hi';
    }

does what a naive user might expect up through 2.7.14 (Scope(Class[Abc-def]): 
hi).  After that, it does what a more experienced user might expect 
(Scope(Class[Abc-def]): -def::var).  Adding braces:

    class abc-def($var) {
        notice("$abc-def::var")
    }

    class {
        abc-def: var => 'hi';
    }

still does what a naive user expects on 2.7.14, but gives an error on 2.7.16 
and higher.

However, in all of those versions, that class name itself is illegal - 
http://docs.puppetlabs.com/learning/modules1.html#an-aside-names-namespaces-and-scope

Classes with dashes in them should be disallowed by the parser.  At least in 
3.0.x.  And they should trigger a warning in 2.7.x since (a) they don't really 
work and (b) they'll be disallowed in 3.0.x.


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