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{}); | ^~~~~~~~~~~~