https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90782
Bug ID: 90782 Summary: internal compiler error: in dependent_type_p, at cp/pt.c:25409 Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: getchar_gnu at hotmail dot com Target Milestone: --- https://gcc.godbolt.org/z/rM-dZg -std=c++17 -m64 template<class R=void, class... A> struct bar { template<class B> bar(B& obj, R(B::*f)(A...)const=B::operator()){} }; template<class R=void, class... A, class B> void foo(B& obj, R(B::*f)(A...)const=B::operator()){} int main() { const auto f1 = [](){return 3;}; //foo(f1); bar f8(f1); } <source>: In function 'bar(B&, R (B::*)(A ...) const)-> bar<R, A> [with R = void; A = {}; B = const main()::<lambda()>]': <source>:10:14: internal compiler error: in dependent_type_p, at cp/pt.c:25409 10 | bar f8(f1); | ^ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. Compiler returned: 1