summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/infoxml.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-06-06 04:33:46 +1000
committer Vas Crabb <vas@vastheman.com>2022-06-06 04:33:46 +1000
commit59a8e9dd5ae36be43e12998c003bc0c5dc56f0ff (patch)
tree0b96863a3550d19c3505cdd64bc49f8ff21a9996 /src/frontend/mame/infoxml.cpp
parentf923edc4660f8f5b91dd9d1a758da11454a163dd (diff)
frontend/mame/infoxml.cpp: Work around an MSVCPRT shortcoming with promise types (see e.g. GitHub #9665).
Diffstat (limited to 'src/frontend/mame/infoxml.cpp')
-rw-r--r--src/frontend/mame/infoxml.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/frontend/mame/infoxml.cpp b/src/frontend/mame/infoxml.cpp
index 6adb5f5e588..70270e0a0f9 100644
--- a/src/frontend/mame/infoxml.cpp
+++ b/src/frontend/mame/infoxml.cpp
@@ -436,7 +436,13 @@ void info_xml_creator::output(std::ostream &out, const std::function<bool(const
prepared_info() = default;
prepared_info(const prepared_info &) = delete;
prepared_info(prepared_info &&) = default;
+#if defined(_CPPLIB_VER) && defined(_MSVC_STL_VERSION)
+ // MSVCPRT currently requires default-constructible std::future promise types to be assignable
+ // remove this workaround when that's fixed
+ prepared_info &operator=(const prepared_info &) = default;
+#else
prepared_info &operator=(const prepared_info &) = delete;
+#endif
std::string m_xml_snippet;
device_type_set m_dev_set;