https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81806
--- Comment #7 from Xi Ruoyao <xry111 at mengyan1223 dot wang> --- (In reply to Jonathan Wakely from comment #6) > (In reply to Oleksandr Kulkov from comment #5) > > 1. At least, Jonathan suggested to start with fixing this in > > https://gcc.gnu.org/ml/libstdc++/2019-07/msg00066.html , so it doesn't seem > > hopeless for now > > I think ABI breaks in pb_ds are OK. If necessary we can use an inline > namespace to mangle the fixed types differently. Oh I didn't expect an ABI breakage. I thought "pb_ds is a source code library so there is no ABI in libstdc++.so". Now I understand that we should not break old third-party libraries compiled with the old pb_ds headers (is there any? :) > > 4. Even so is better than having it non-fixed or even deprecated forever > > Right. If you only care about the Ubuntu version used in contests, that > already has pb_ds, so you wouldn't care if we removed it upstream, right? ;-) I don't only care about the Ubuntu in contests (actually I'm retired so I can only participant in online contests now). If we want to keep pb_ds instead of deprecate it, this PR have to be fixed. One LUG co-leader in our university is also an experienced competitive programmer. I've discussed this issue with him. Hopefully we can collaborate to make a fix. Something may be off-topic: ICPC is kind enough to use the latest Ubuntu LTS. One local contest I've participated in was using Windoge and an ancient MinGW. So even std::string didn't work :(.