diff --git a/libs/parser/rules/pslang.y b/libs/parser/rules/pslang.y index 17541d2..a4148b6 100644 --- a/libs/parser/rules/pslang.y +++ b/libs/parser/rules/pslang.y @@ -57,7 +57,11 @@ template else value = std::strtoull(str.data(), nullptr, 10); #else - auto result = std::from_chars(str.data(), str.data() + str.size(), value); + std::from_chars_result result; + if constexpr (std::is_same_v) + result = std::from_chars(str.data(), str.data() + str.size(), value.repr); + else + result = std::from_chars(str.data(), str.data() + str.size(), value); if (result.ec != std::errc()) throw std::system_error(std::make_error_code(result.ec)); #endif