https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100963
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:91349e57bbfd010156b9128b2ad751c8843e7245 commit r12-1299-g91349e57bbfd010156b9128b2ad751c8843e7245 Author: Jason Merrill <ja...@redhat.com> Date: Tue Jun 8 09:19:58 2021 -0400 c++: braced-list overload resolution [PR100963] My PR969626 patch made us ignore template candidates when there's a perfect non-template candidate. In this case, we were considering B(int) a perfect match for B({0}), but the brace elision makes it imperfect. PR c++/100963 gcc/cp/ChangeLog: * call.c (perfect_conversion_p): Check check_narrowing. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/initlist124.C: New test.