diff --git a/include/simdjson/convert.h b/include/simdjson/convert.h index 943b1244f..37c1f4bbe 100644 --- a/include/simdjson/convert.h +++ b/include/simdjson/convert.h @@ -106,7 +106,8 @@ public: explicit auto_parser(ParserType &&parser, padded_string_view const str) noexcept requires(!std::is_pointer_v) - : m_parser{std::move(parser)}, m_doc(m_parser.iterate(str)) {} + // Note: order matters! We need to call iterate BEFORE moving the parser + : m_doc(parser.iterate(str)), m_parser{std::move(parser)} {} explicit auto_parser(padded_string_view const str) noexcept requires(!std::is_pointer_v) diff --git a/singleheader/simdjson.cpp b/singleheader/simdjson.cpp index e414e8a8f..19b5701d5 100644 --- a/singleheader/simdjson.cpp +++ b/singleheader/simdjson.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2025-08-03 15:28:40 +0000. Do not edit! */ +/* auto-generated on 2025-08-03 18:12:50 +0000. Do not edit! */ /* including simdjson.cpp: */ /* begin file simdjson.cpp */ #define SIMDJSON_SRC_SIMDJSON_CPP diff --git a/singleheader/simdjson.h b/singleheader/simdjson.h index 43e45f31a..d7a0e6eae 100644 --- a/singleheader/simdjson.h +++ b/singleheader/simdjson.h @@ -1,4 +1,4 @@ -/* auto-generated on 2025-08-03 15:28:40 +0000. Do not edit! */ +/* auto-generated on 2025-08-03 18:12:50 +0000. Do not edit! */ /* including simdjson.h: */ /* begin file simdjson.h */ #ifndef SIMDJSON_H @@ -135358,7 +135358,8 @@ public: explicit auto_parser(ParserType &&parser, padded_string_view const str) noexcept requires(!std::is_pointer_v) - : m_parser{std::move(parser)}, m_doc(m_parser.iterate(str)) {} + // Note: order matters! We need to call iterate BEFORE moving the parser + : m_doc(parser.iterate(str)), m_parser{std::move(parser)} {} explicit auto_parser(padded_string_view const str) noexcept requires(!std::is_pointer_v) diff --git a/singleheader/singleheader.zip b/singleheader/singleheader.zip index 60d178f19..6c7981d27 100644 Binary files a/singleheader/singleheader.zip and b/singleheader/singleheader.zip differ