@@ -117,7 +117,7 @@ class any {
117 using data = std::array<const any, N>;
117 using data = std::array<const any, N>;
119 using array = std::deque<any WITH_ALLOCATOR(any)>;
119 using array = std::deque<any WITH_ALLOCATOR(any)>;
120− using record = std::unordered_map<std::string, any WITH_ALLOCATOR(any)>;
120+ using record = std::unordered_map<std::string, any WITH_ALLOCATOR_PAIR(std::string, any)>;
122 using fn = auto (*)(const any&) -> any;
122 using fn = auto (*)(const any&) -> any;
123 using eff_fn = auto (*)() -> any;
123 using eff_fn = auto (*)() -> any;
@@ -188,9 +188,9 @@ class any {
188 template <typename T, typename = typename std::enable_if<std::is_same<bool,T>::value>::type>
188 template <typename T, typename = typename std::enable_if<std::is_same<bool,T>::value>::type>
189 any(const T val) noexcept : tag(Tag::Boolean), b(val) {}
189 any(const T val) noexcept : tag(Tag::Boolean), b(val) {}
191− any(const char * val) : tag(Tag::String), s(make_managed<string>(val)) {}
191+ any(const char * val) : tag(Tag::String), s(make_managed_and_finalized<string>(val)) {}
192− any(const string& val) : tag(Tag::String), s(make_managed<string>(val)) {}
192+ any(const string& val) : tag(Tag::String), s(make_managed_and_finalized<string>(val)) {}
193− any(string&& val) noexcept : tag(Tag::String), s(make_managed<string>(std::move(val))) {}
193+ any(string&& val) noexcept : tag(Tag::String), s(make_managed_and_finalized<string>(std::move(val))) {}
195 any(const managed<string>& val) noexcept : tag(Tag::String), s(val) {}
195 any(const managed<string>& val) noexcept : tag(Tag::String), s(val) {}
196 any(managed<string>&& val) noexcept : tag(Tag::String), s(std::move(val)) {}
196 any(managed<string>&& val) noexcept : tag(Tag::String), s(std::move(val)) {}
@@ -576,6 +576,7 @@ namespace data {
576} // namespace PureScript
576} // namespace PureScript
578#undef WITH_ALLOCATOR
578#undef WITH_ALLOCATOR
579+#undef WITH_ALLOCATOR_PAIR
579#undef IS_POINTER_TYPE
580#undef IS_POINTER_TYPE
580#undef DEFINE_OPERATOR
581#undef DEFINE_OPERATOR
581#undef DEFINE_COMPARISON_OPERATOR
582#undef DEFINE_COMPARISON_OPERATOR