https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112737

--- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced:

$ cat 112737.h
template<template<class> class _Cont>
using _DeduceExpr1 = decltype(_Cont{});

$ cat 112737_a.H
#include "112737.h"

$ cat 112737_b.C
import "112737_a.H";
#include "112737.h"

$ g++ -fmodules-ts 112737_a.H 112737_b.C
In file included from 112737_b.C:2:
112737.h:2:7: error: conflicting declaration of template
‘template<template<class> class _Cont> using _DeduceExpr1 = decltype
(_Cont<...auto...>{})’
    2 | using _DeduceExpr1 = decltype(_Cont{});
      |       ^~~~~~~~~~~~
In file included from 112737_a.H:1,
of module ./112737_a.H, imported at 112737_b.C:1:
112737.h:2:7: note: previous declaration ‘template<template<class> class _Cont>
using _DeduceExpr1 = decltype (_Cont<...auto...>{})’
    2 | using _DeduceExpr1 = decltype(_Cont{});
      |       ^~~~~~~~~~~~

Reply via email to