ned14 / quickcpplib

Eliminate all the tedious hassle when making state-of-the-art C++ 14 - 23 libraries!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`packed_backtrace.hpp` missing includes with `QUICKCPPLIB_USE_STD_SPAN`

BurningEnlightenment opened this issue · comments

#define QUICKCPPLIB_PACKED_BACKTRACE_HPP
#include "config.hpp"
#include "span.hpp"
#include <cstddef> // for ptrdiff_t etc
#include <cstdint> // for uint32_t etc
#include <cstring> // for memset
QUICKCPPLIB_NAMESPACE_BEGIN

However, the file contains


and
throw std::out_of_range("packed_backtrace: out of range");

which relies on <cstdlib> and <stdexcept> being included by "span.hpp". This is the case for gsl / span-lite, but both gcc and msvc standard library implementations of span include neither of them. Therefore QUICKCPPLIB_USE_STD_SPAN is currently somewhat broken.

Many thanks for the bug report!

@ned14 thanks for fixing this promptly!

Just a heads up: The IntelliSense/EDG version included in the upcoming VS 16.8 release ICEs somewhere in outcome's basic_result.hpp, i.e. IntelliSense will be disabled for everything (transitively) including basic_result.hpp.

Well that sucks. I'm not onto 16.8, but when it releases I'll go prod Microsoft if it's still there. You may not be aware that Outcome trunk is within VS's test suite, so they tend to notice quickly when Outcome blows their stuff up.