https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113360
Bug ID: 113360 Summary: Truncated constexpr error messages with -std=c++23/26 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mpolacek at gcc dot gnu.org Target Milestone: --- Test by Paul Keir: constexpr bool init_list() { int total{}; for (int x : {1, 2, 3}) total += x; return total == 6; } static_assert(init_list(), ""); Using -std=c++23, the error message is: <source>: In function 'constexpr bool init_list()': <source>:6:24: error: deducing from brace-enclosed initializer list requires '#include <initializer_list>' +++ |+#include <initializer_list> 1 | // #include <initializer_list> ...... 6 | for (int x : {1, 2, 3}) | ^ <source>: At global scope: <source>:11:24: error: non-constant condition for static assertion 11 | static_assert(init_list(), ""); | ~~~~~~~~~^~ <source>:11:24: error: 'constexpr bool init_list()' called in a constant expression <source>:3:16: note: 'constexpr bool init_list()' is not usable as a 'constexpr' function because: 3 | constexpr bool init_list() | ^~~~~~~~~