llvm/llvm-project

[Clang] Explain satisfaction failure for more type traits

Open

#141,911 opened on May 29, 2025

 (20 comments) (0 reactions) (0 assignees)C++ (10,782 forks)batch import
clang:diagnosticsclang:frontendgood first issue

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (PR metrics pending)

Description

Last week, we added the scaffolding for clang to explain why a standard type trait is not satisfied - when used either in a static_assert or as atomic constraint, in Sema::DiagnoseTypeTraitDetails (#141238)

https://gcc.godbolt.org/z/xb7PcxzTx

So far, this has only been done for std::is_trivially_relocatable.

There are plenty of type traits that could benefit from additional diagnostics https://eel.is/c++draft/type.traits#meta.type.synop

I figure adding support for more type traits (one at a time!) could be a good first issue, and it's always nice to improve our diagnostics.

Contributor guide