A::install{}
class A{
A::install{}
}
class A::B{
A::B::install{
require -> Class[A]
}
}
class A::C{
A::C::install{
require -> Class[A]
}
}
"classes": [
"A",
"A::B",
"A::C",
"A::install",
"A",
"A::B",
"A::C"
]
But in puppet 2.7.2, it looks ok.