[libcxx-commits] [PATCH] D157058: [libc++] Remove generic char_traits implementation
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Sep 12 15:07:35 PDT 2023
ldionne added a comment.
FWIW after speaking with @thakis offline, I do think we did "everything right", in the following sense. We added the deprecated attribute to the class and left it there across one full release (roughly 1 year). This should leave enough time for people to notice the warning when updating libc++, turn it off temporarily with `-Wno-deprecated` as they fix their code, and then re-enable the warning. I think this is the right model we want to give folks.
However, the major caveat that makes this whole thing a fiasco is that nobody ever saw the deprecation warning, because Clang doesn't show those from system headers (TIL). This is terrible and it means that no amount of good intentions on our side can overcome the fact that from the users perspective, there was basically 0 lead time until the removal.
We need to fix this. Another thing we could work on improving is the ability to silence just specific deprecation warnings in Clang, for example something like `-Wno-deprecated=char_traits` would be really nice. Until we have a reasonable path to remove these deprecated entities, I don't think we should be removing them (after all, we would never remove them without any lead time and this is exactly what we did here for all intents and purposes).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157058/new/
https://reviews.llvm.org/D157058
More information about the libcxx-commits
mailing list