People, why you just don't change the namespace separator to something except :: and sole all the problems one and for all? God damn, use :> if you need - just push it out working! Most of my fellow programmers are just sick with reading internals discussing how to throw a feathure away because ambitity problem with :: can't be solved totaly. Me too, mostly I just skip namespace topics.
Make a solid decision. Find the guts to change that misserable :: separator to something else (:> for example) and be done with it - you are like children who can't deside whose toy is it with thouse namespaces! Take a break for 2-3 days and look back on what you are arguing about - you made a problem from nothing! Originaly no one thought about :: can be used with namespaces,now you are trying to fix it but you can't.This is a design issue, you can't solve it without breaking BC and getting everybody happy. By changing separator you will reach all goals at one shot - functions, classes, constants will be alowed in namespaces. That is what userland developers what. Give that to them!