[libcxx-commits] [PATCH] D89353: Enable overriding `__libcpp_debug_function` invocation
JF Bastien via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jun 15 15:06:33 PDT 2021
jfb added a comment.
FWIW I support something along the lines of what Palmer is trying to do: many users of the STL would like to be able to handle particular types of library UB instead of performing potentially unbounded effects. Which ones is a bit of an art that we need to figure out, for example I wouldn't want to unduly affect performance (by e.g. changing algorithmic complexity) or code size (here, with diagnostic bloat). In a way we're experimenting on the edges of what contract checking would be for the STL, and I would approach it with this optic: could we have a mode of the STL which enforces contracts, and a mode where you get whatever. If so, what should be checked and what should remain unchecked, and what are the principles to distinguish these. I think in this discussion it's important to separate the invariants that are details of libc++'s implementation, from what are actual contracts at the STL API level.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89353/new/
https://reviews.llvm.org/D89353
More information about the libcxx-commits
mailing list