mizvekov wrote: @alexfh Your third test case reduces to:
```C++ template <unsigned> struct InlinedVector {}; template <int TotalNumArgs> void PackArgsHelper(InlinedVector<TotalNumArgs>, unsigned char); template <int TotalNumArgs, typename T0, typename... TRest> void PackArgsHelper(InlinedVector<TotalNumArgs> packed_args, T0, TRest... args_rest) { PackArgsHelper<TotalNumArgs>(packed_args, args_rest...); } template void PackArgsHelper<2>(InlinedVector<2>, int, unsigned char); ``` The problem here is the mismatch between `int` and `unsigned int` for TotalNumArgs. If you replace `template <unsigned> struct InlinedVector {};` with `template <int> struct InlinedVector {};` that works. Or you can replace the other way around. Does that solution translate to the unreduced problem? Does that come from Eigen, or is that internal to google? It's a shame that we produce these diagnostics internally, but we don't have them wired to show up when these happen in partial ordering. https://github.com/llvm/llvm-project/pull/100692 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits