https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118320
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #9) > What I don't understand is why is m_size is -1 when m_base is nullptr. > Shouldn't it be 0? or I am missing something obvious? Oh never mind it is an invalid array_slice: static array_slice invalid () { return { nullptr, ~0U }; }