https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94102
Bug ID: 94102 Summary: Variadic template deduction guide issue - error: 'In instantiation of' Product: gcc Version: 9.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rosemberg at ymail dot com Target Milestone: --- The gcc9.2 (I tested with gcc7) return the follow error due the deduction guide declaration: In instantiation of 'Merged::Merged(T&& ...) (with T = {const main()::&, const main()::&, main()::}; B = {}]': #include <utility> template<typename ... B> struct Merged : B ... { template<typename ... T> Merged(T&& ... t) : B(std::forward<T>(t))... {} using B::operator()...; }; template<typename ... T> Merged(T...) -> Merged<std::decay_t<T>...>; int main() { const auto l1 = []() { return 4; }; const auto l2 = [](const int i) { return i * 10; }; Merged merged(l1, l2, [](const double d) { return d * 3.2; }); return 0; }