I don't have a small repro for this as we found it while incorporating the pythran C++ code into our codebase. But it looks like in utils/nested_container.hpp , the function
template <class T>
long nested_container_size<T>::flat_size(T const &t)
{
return t.size() *
nested_container_size<typename std::conditional<
// If we have a scalar or a complex, we want to stop
// recursion, and then dispatch to bool specialization
types::is_dtype<typename Type::value_type>::value, bool,
typename Type::value_type>::type>::flat_size(*t.begin());
}
Throws an assert if t.size() is zero (because of the call to t.begin()).
I will submit a PR for this.
I don't have a small repro for this as we found it while incorporating the pythran C++ code into our codebase. But it looks like in utils/nested_container.hpp , the function
Throws an assert if t.size() is zero (because of the call to t.begin()). I will submit a PR for this.