Hi everyone, I've recently had quite a few pain points while debugging due to the use of anonymous namespaces throughout the code. Specifically, GDB does an absolutely *terrible* job when a type is in an anonymous namespace (e.g. I can't cast an ExecNode to its type). It's also difficult to set breakpoints inside of functions within anonymous namespaces (it's feasible but a pain to type out).
I understand that we use anonymous namespaces to limit the number of symbols exposed by the binary, but this isn't relevant in debug builds. Does anyone have opinions about potentially gating our anonymous namespaces behind a `#ifndef NDEBUG` check? This way we can still disable exporting all of those symbols in release builds but make life much easier when debugging. Thanks, Sasha Krassovsky
