I've never been a fan of C++'s preference to slam enum values into the global namespace, thus I use namespaces in my C++ code to limit that progression. So it was with delight that I upgraded my AS as soon as I found out that namespaces had come. However I just found a problem. Here's some C++-based pseudocode giving an example of what I do:

After hacking my registration to get it operable I found myself playing hide-and-seek with my enum values. For some reason I found my enum value hiding at MY_ENUM::TYPE::VALUE_A instead of where I expected, based on how C++ operates, at MY_ENUM::VALUE_A. This is a good thing, and quite a nice change, but it's almost entirely unlike C++.

Thanks to both of you. I'll investigate the problem reported and have it fixed as soon as possible.

In the meantime you may want to set the engine property asEP_REQUIRE_ENUM_SCOPE to true. This changes the compiler to only accept the enum values if they actual enum type is informed with the scope operator.