https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93323
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |needs-reduction Status|UNCONFIRMED |NEW Last reconfirmed| |2020-01-19 CC| |mpolacek at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Started with g:daaa6fcc70ffe66bd56f5819ad4ee78fecd54bb6, before that: main5.cc:10:47: error: invalid use of incomplete type ‘struct std::array<int, amount>’ In file included from main5.cc:1: /usr/include/c++/9.2.0/array:94:12: note: declaration of ‘struct std::array<int, amount>’ main5.cc:26:66: note: invalid template non-type parameter main5.cc:26:7: error: trailing return type ‘<type error>’ of deduction guide is not a specialization of ‘Guided<amount, arr>’ main5.cc: In function ‘int main()’: main5.cc:32:43: error: class template argument deduction failed: main5.cc:32:43: error: no matching function for call to ‘Guided(const Shield<111, 3>&, const Shield<200, 3>&, Shield<321, 3>)’ main5.cc:16:55: note: candidate: ‘template<int amount, <typeprefixerror>arr, int ...i, class ... D, D ...d> Guided(Shield<i, d>...)-> Guided<amount, arr>’ main5.cc:16:55: note: template argument deduction/substitution failed: main5.cc:10:58: note: candidate: ‘template<int amount, <typeprefixerror>arr> Guided(Guided<amount, arr>)-> Guided<amount, arr>’ main5.cc:10:58: note: template argument deduction/substitution failed: main5.cc:32:43: note: ‘Shield<111, 3>’ is not derived from ‘Guided<amount, arr>’