On Fri, Dec 12, 2025 at 12:25 PM Luc Grosheintz <[email protected]>
wrote:

> The submdspan feature broke compatibility with clang, due to a missing
> '::template type'.
>
> libstdc++-v3/ChangeLog:
>
>         * include/std/mdspan (submdspan): Fix missing '::template'.
>
> Signed-off-by: Luc Grosheintz <[email protected]>
>
LGTM. I will handle merging it when it gets approved.

> ---
>
> After this change I can compile several examples that use submdspan with
> clang++ using the libstdc++ as the standard library (and I have no
> examples that don't compile).
>
>  libstdc++-v3/include/std/mdspan | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libstdc++-v3/include/std/mdspan
> b/libstdc++-v3/include/std/mdspan
> index dc0aa4f9584..cedf597d3c2 100644
> --- a/libstdc++-v3/include/std/mdspan
> +++ b/libstdc++-v3/include/std/mdspan
> @@ -3376,7 +3376,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>    template<typename _ElementType, typename _Extents, typename _Layout,
>            typename _Accessor, typename... _RawSlices>
>      requires (sizeof...(_RawSlices) == _Extents::rank()
> -       && __mdspan::__sliceable_mapping<typename
> _Layout::mapping<_Extents>,
> +       && __mdspan::__sliceable_mapping<typename _Layout::template
> mapping<_Extents>,
>
>  __mdspan::__full_extent_t<_RawSlices>...>)
>      constexpr auto
>      submdspan(
> --
> 2.52.0
>
>

Reply via email to