Possible GCC reflection error
Playing with GCC I got a situation like this:
#include <algorithm>
#include <array>
#include <print>
#include <meta>
consteval auto Name(const int integer){
return std::meta::displaystringof(^^integer);
}
consteval auto Name(const std::meta::info meta){
return std::meta::displaystringof(meta);
}
// <source>:21:28: error: call to consteval function 'Name(^^int)' is not a constant expression
// 17 | std::println("{}", Name(^^int));
// | ~~~~^~~~~~~
// But removing const fix it!! (works in Clang P2996)
int main(){
std::println("{}", Name(3));
std::println("{}", Name(^^int));
return 0;
}
I think that this is not the expected behaviour, but is it a known bug to be patched?
https://redd.it/1po9oz2
@r_cpp
Post #24504
22