tbaeder added a comment. IMO it's clear enough...
test.cpp:24:1: error: static assertion failed due to requirement 'c != c' static_assert(c != c); ^ ~~~~~~ test.cpp:24:17: note: expression evaluates to 'a != a' static_assert(c != c); ~~^~~~ test.cpp:25:1: error: static assertion failed due to requirement 'c < 'a'' static_assert(c < 'a'); ^ ~~~~~~~ test.cpp:25:15: note: left-hand side of operator '<' evaluates to 'a' static_assert(c < 'a'); ^ 2 errors generated. Printing the first note as ''a' != 'a'' doesn't make it clearer. But for test.cpp:24:1: error: static assertion failed due to requirement 'c != c' static_assert(c != c); ^ ~~~~~~ test.cpp:24:17: note: expression evaluates to '0 != 0' static_assert(c != c); ~~^~~~ test.cpp:25:1: error: static assertion failed due to requirement 'c > 'a'' static_assert(c > 'a'); ^ ~~~~~~~ test.cpp:25:15: note: left-hand side of operator '>' evaluates to '0' static_assert(c > 'a'); ^ where `c` is a char variable, the output looks kind of weird. "0 != 0" looks like we're comparing two integers. We might also go the g++ route and use `evaluates to ('0' != '0')` for the full expression, but that looks weird for just one side: `evaluates to (6)`. But we could also always print the full expression so we only have one case. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits