C++20 introduced constraints, where concepts such as `std::integral` can be used to restrict template parameters: ``` template <std::integral T> int foo(T t); // Only accepts integral types. ``` Clang mangles these starting with a prefix `Tk`, followed by the concept name, which mangles as a type. For example, compare `foo` and `bar` here: https://godbolt.org/z/Kzbrrchde Note that this implementation doesn't cover the more complex case where the concept is templated too. See [llvm's implementation](https://github.com/llvm/llvm-project/commit/4b163e343cfa54c8d55c9da73c70d58f55ea9df2) and its tests for a thorough version. PiperOrigin-RevId: 604976260 Change-Id: Ic116c5f6f27c3f7714638bdee8de11dce871f0be
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| internal | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| failure_signal_handler.cc | Loading commit data... | |
| failure_signal_handler.h | Loading commit data... | |
| failure_signal_handler_test.cc | Loading commit data... | |
| leak_check.cc | Loading commit data... | |
| leak_check.h | Loading commit data... | |
| leak_check_fail_test.cc | Loading commit data... | |
| leak_check_test.cc | Loading commit data... | |
| stacktrace.cc | Loading commit data... | |
| stacktrace.h | Loading commit data... | |
| stacktrace_benchmark.cc | Loading commit data... | |
| stacktrace_test.cc | Loading commit data... | |
| symbolize.cc | Loading commit data... | |
| symbolize.h | Loading commit data... | |
| symbolize_darwin.inc | Loading commit data... | |
| symbolize_elf.inc | Loading commit data... | |
| symbolize_emscripten.inc | Loading commit data... | |
| symbolize_test.cc | Loading commit data... | |
| symbolize_unimplemented.inc | Loading commit data... | |
| symbolize_win32.inc | Loading commit data... |