https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116399
--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> --- The standard says "text_encoding::aliases_view models copyable, ranges::view, ranges::random_access_range, and ranges::borrowed_range." So that's what it's required to satisfy. Anything else is not required. The standard doesn't specify that it's a common_range, so it's unspecified (that's what unspecified means!) Similarly, it doesn't specify that it's a sized_range, so it's unspecified. I don't like the suggestion that we need to be explicit about all the concepts that a type does *not* satisfy. If we don't specify it satisfies something, then it doesn't need to satisfy it. That should be clear enough and I'm regretting adding the note about common_range and default_initializable now.