With recent ETL versions, it's allowed to to create a default Fixed Extent etl::span<T, S>.
This causes a problem because the member function size() returns "Extend" even though the data is nullptr. This different from old behavior were there two pointers "mbegin, mend" and the size was the difference.
Fixed Extent etl::span should be considered as a view to existing data.
Current std::span doesn't allow default construction, so it would make sense that etl does the same.
etl::span<uint8_t, 10> x; // compiles
std::cout << x.size() << std::endl; // prints 10 but x is nullptr
With recent ETL versions, it's allowed to to create a default Fixed Extent etl::span<T, S>.
This causes a problem because the member function size() returns "Extend" even though the data is nullptr. This different from old behavior were there two pointers "mbegin, mend" and the size was the difference.
Fixed Extent etl::span should be considered as a view to existing data.
Current std::span doesn't allow default construction, so it would make sense that etl does the same.
Options: