Description
Building from develop fails with C++11 on Apple Clang due to destroy_at in src/Defines.h being declared as constexpr void in the C++11 path.
Expected behavior
Project builds successfully with C++11.
Actual behavior
Compilation fails with an error similar to:
constexpr function's return type 'void' is not a literal type
Reproduction
- Checkout
develop
- Run:
python setup.py
./build_test.sh
- Observe compile failure in
src/Defines.h at the C++11 destroy_at declaration.
Environment
- OS: macOS (arm64)
- Compiler: Apple Clang 17
- C++ standard: C++11
Notes
A minimal fix is to change the C++11 declaration from:
constexpr void destroy_at(T* p)
to:
inline void destroy_at(T* p)
while keeping C++14/C++17+ behavior unchanged.