On Jan 23, 2023, at 11:05 AM, Geoffrey Garen <ggaren@apple.com> wrote:
However, this change requires moving class-scoped enums out into the namespace scope.
Seems worthwhile. Doesn’t seem to me like it would have far reaching effects.
I agree.
+ using Type = DOMAudioSessionType;
Did you do this to make the patch smaller, or do you prefer this style?
Yes to both. IMO, there’s nothing inherently wrong with having an enum scoped to a class apart from that makes it impossible to forward declare. If there was some language supported mechanism to forward-declare class-scoped enums, we’d probably just do that instead. So, this pattern of declaring the enum outside of a class and pulling it into the class with a using declaration is a bit ugly, insofar as it pollutes the global namespace, but it does allow you to continue to use the type as if it were file scoped. -Jer