I was going to ask why you haven't committed it directly, but it looks like it is already on master. LGTM.
On Tue, Jul 8, 2025 at 11:34 PM Jonathan Wakely <jwak...@redhat.com> wrote: > This fixes: > > include/c++/16.0.0/mdspan:1182:33: error: use 'template' keyword to treat > 'mapping' as a dependent template name > 1182 | const typename _OLayout::mapping<_OExtents>&> > | ^ > include/c++/16.0.0/mdspan:1185:31: error: use 'template' keyword to treat > 'mapping' as a dependent template name > 1185 | const typename _OLayout::mapping<_OExtents>&, > mapping_type> > | ^ > > libstdc++-v3/ChangeLog: > > * include/std/mdspan (mdspan): Add template keyword for > dependent name. > --- > > Tested x86_64-linux. > > libstdc++-v3/include/std/mdspan | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libstdc++-v3/include/std/mdspan > b/libstdc++-v3/include/std/mdspan > index 5d16de5d9072..b34116a85e67 100644 > --- a/libstdc++-v3/include/std/mdspan > +++ b/libstdc++-v3/include/std/mdspan > @@ -1179,10 +1179,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > template<typename _OElementType, typename _OExtents, typename > _OLayout, > typename _OAccessor> > requires is_constructible_v<mapping_type, > - const typename _OLayout::mapping<_OExtents>&> > + const typename _OLayout::template mapping<_OExtents>&> > && is_constructible_v<accessor_type, const _OAccessor&> > constexpr explicit(!is_convertible_v< > - const typename _OLayout::mapping<_OExtents>&, mapping_type> > + const typename _OLayout::template mapping<_OExtents>&, > mapping_type> > || !is_convertible_v<const _OAccessor&, accessor_type>) > mdspan(const mdspan<_OElementType, _OExtents, _OLayout, > _OAccessor>& > __other) > -- > 2.50.0 > >