Issue 63823
Summary ICE in `TemplateInstantiator::TransformTemplateTypeParmType`
Labels
Assignees
Reporter chfast
    This is one of the reduced version of fixed https://github.com/llvm/llvm-project/issues/62615.

This code still crashes the compiler with

```
clang/lib/Sema/SemaTemplateInstantiate.cpp:2224: clang::QualType {anonymous}::TemplateInstantiator::TransformTemplateTypeParmType(clang::TypeLocBuilder&, clang::TemplateTypeParmTypeLoc, bool): Assertion `Arg.getKind() == TemplateArgument::Type && "Template argument kind mismatch"' failed.
```

```cpp
template <class> _declval;
template <class From, class> using _copy_cvref_t = From;
template <class Ty> using _unwrap_t = decltype(_declval<Ty>);
template <class Self, class Ty>
using _element_t = _unwrap_t<_copy_cvref_t<Self, Ty>>;
template <class... Ts,
          auto GenImpl =
              []<class...> { []<class Self, _element_t<Self, Ts>> {}; }>
auto _make_impl() {
 GenImpl();
}
static_assert(_make_impl<>);
```

https://godbolt.org/z/3cb4K6Wbn
 
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to