Fix char8_t support (#4278)

Standard library macro __cpp_lib_char8_t is only available
after including standard header
This commit is contained in:
Vemund Handeland 2022-10-23 20:57:45 +02:00 committed by Henry Schreiner
parent 0e82c36094
commit 1f187d9a35

View File

@ -205,10 +205,6 @@
# endif
#endif
#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
# define PYBIND11_HAS_U8STRING
#endif
#include <Python.h>
#if PY_VERSION_HEX < 0x03060000
# error "PYTHON < 3.6 IS UNSUPPORTED. pybind11 v2.9 was the last to support Python 2 and 3.5."
@ -259,6 +255,11 @@
# endif
#endif
// Must be after including <version> or one of the other headers specified by the standard
#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
# define PYBIND11_HAS_U8STRING
#endif
// #define PYBIND11_STR_LEGACY_PERMISSIVE
// If DEFINED, pybind11::str can hold PyUnicodeObject or PyBytesObject
// (probably surprising and never documented, but this was the