ziqingluo-90 wrote: > Hi @mizvekov > > I believe this change is impacting our downstream compiler. Here is a minimal > example: > > ``` > #include <utility> > #include <cstddef> > namespace { > > template <typename INDEX_SEQUENCE> > class ForEach; // intentionally undefined > > > > template <size_t... INDICES, template <typename, size_t...> class > INDEX_CONTAINER> > class ForEach<INDEX_CONTAINER<size_t, INDICES...>> {}; > > } //namespace > > > > static void go() > { > ForEach<std::make_index_sequence<42>> X; > } > ``` > > It was accepted by clang 19.1.0 and gcc but not the clang trunk: > https://godbolt.org/z/hdYWq86Ke > > I'm not an expert, could you explain to me why > `ForEach<std::make_index_sequence<42>>` does not specialize this template ` > class ForEach<INDEX_CONTAINER<size_t, INDICES...>> {};`?
@mizvekov, can you take a look at this? https://github.com/llvm/llvm-project/pull/124137 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits