https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95609
Bug ID: 95609 Summary: span<T> could have better layout Product: gcc Version: 10.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: s_gccbugzilla at nedprod dot com Target Milestone: --- I would assume that the ABI ship has sailed, as usual, but if libstdc++'s span<T> could instead have the layout: { T *p; size_t l; } ... then a span<byte> would be layout-compatible with struct iovec, which would save libstdc++ having to reimplement span<> with a struct iovec compatible layout for any future std::file_handle::buffer_type, if that gets standardised. I put notice of this out onto lib-ext last year requesting this of span<T> implementations. libc++ heeded my request, MSVC have very kindly undone their initial implementation to meet the pointer + size layout plus add standard layout, so they'll be on that too going forth. In the end, this request is about as unimportant for right now as you can get. It's purely for saving you, Jonathan, avoidable work later on. Niall