По состоянию на 21 апреля 2019 г., 02:44:49 UTC, версия [span.cons] в https://eel.is/c++draft/, похоже, содержит ошибку:
constexpr span() noexcept;
Ограничения: Extent <= 0
- это true
.
Гарантирует: size() == 0 && data() == nullptr
.
Extent
настроен на тип size_t
,
и dynamic_extent
теперь numeric_limits<size_t>::max()
.
Следовательно, Extent <= 0
по существу эквивалентно Extent == 0
.
То есть конструктор отключен, когда экстент динамический,
что, вероятно, не предназначено.
Я предполагаю, что цель Extent == 0 || Extent == dynamic_extent
так как это работает, когда dynamic_extent
был подписан.
Это ошибка в стандарте? Я что-то пропустил?