diff --git a/src/Evaluator/Value/value.hpp b/src/Evaluator/Value/value.hpp index 0258d7b..6da4663 100644 --- a/src/Evaluator/Value/value.hpp +++ b/src/Evaluator/Value/value.hpp @@ -437,8 +437,10 @@ namespace Fig if (is()) return FString(u8"\"" + as() + u8"\""); if (is()) return as() ? FString(u8"true") : FString(u8"false"); if (is()) - return FString(std::format( - "", as().id, static_cast(&as()))); + return FString(std::format("", + as().name.toBasicString(), + as().id, + static_cast(&as()))); if (is()) return FString(std::format("", as().type.toString().toBasicString(), @@ -651,12 +653,13 @@ namespace Fig } // comparison - friend bool operator==(const Object &lhs, const Object &rhs) { + friend bool operator==(const Object &lhs, const Object &rhs) + { if (lhs.isNumeric() && rhs.isNumeric()) { return nearlyEqual(lhs.getNumericValue(), rhs.getNumericValue()); } - return lhs.data == rhs.data; + return lhs.data == rhs.data; } friend bool operator!=(const Object &lhs, const Object &rhs) { return !(lhs == rhs); } friend bool operator<(const Object &lhs, const Object &rhs)