This is tickling all sorts of issues with running JDI on GNUC++17 code.
Facing facts, JDI needs to be updated or replaced, moving forward. I am in favor of replacing it, on the grounds that, while Clang has not gotten any smaller over the years, the internet, users' bandwidth, and users' expected development platform size have gotten much, much bigger. A 300MB libclang dependency is no longer anything to be grumpy about (and we already had a 300MB compiler dependency on Windows, anyway).
In the meantime, JDI can't handle the weird-ass variadic templates and hoo-hah going on these new headers (it's largely
#ifdef'd out, but additions to GNUC are probably screwing us, as well).
That being the case, we need to stop including these containers from the main source file, until JDI is solved. This will allow the string workaround to work more effectively, which is biting a lot of people, lately.
I suspect that this is, indirectly, what's causing #1006 (at very least for TKG).
I am filing a bug for this because literally anyone can go through and remove references to STL containers (eg,
std::map) from the main headers (moving them into internal headers used only by actual implementations). This isn't something I feel like doing, so I'm not going to jump to it. I'd probably sooner solve JDI.