public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/101883] New: class template argument deduction in non-type template parameter allows explicit deduction guide @ 2021-08-12 15:29 barry.revzin at gmail dot com 2021-08-12 18:04 ` [Bug c++/101883] " ppalka at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: barry.revzin at gmail dot com @ 2021-08-12 15:29 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101883 Bug ID: 101883 Summary: class template argument deduction in non-type template parameter allows explicit deduction guide Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: barry.revzin at gmail dot com Target Milestone: --- Reduced example: template <class T> struct C { constexpr C(int) {} }; explicit C(int) -> C<int>; template <C c> struct X { }; X<1> x; This should fail to compile, because the deduction guide is explicit and so should not be a candidate, but gcc accepts this example. gcc does correctly reject: C y = 1; Which is the same kind of thing. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/101883] class template argument deduction in non-type template parameter allows explicit deduction guide 2021-08-12 15:29 [Bug c++/101883] New: class template argument deduction in non-type template parameter allows explicit deduction guide barry.revzin at gmail dot com @ 2021-08-12 18:04 ` ppalka at gcc dot gnu.org 2021-08-18 12:39 ` cvs-commit at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: ppalka at gcc dot gnu.org @ 2021-08-12 18:04 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101883 Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2021-08-12 Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org CC| |ppalka at gcc dot gnu.org Ever confirmed|0 |1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/101883] class template argument deduction in non-type template parameter allows explicit deduction guide 2021-08-12 15:29 [Bug c++/101883] New: class template argument deduction in non-type template parameter allows explicit deduction guide barry.revzin at gmail dot com 2021-08-12 18:04 ` [Bug c++/101883] " ppalka at gcc dot gnu.org @ 2021-08-18 12:39 ` cvs-commit at gcc dot gnu.org 2021-10-06 14:15 ` cvs-commit at gcc dot gnu.org 2021-10-06 14:16 ` ppalka at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2021-08-18 12:39 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101883 --- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>: https://gcc.gnu.org/g:a6b3db3e8625a3cba1240f0b5e1a29bd6c68b8ca commit r12-2990-ga6b3db3e8625a3cba1240f0b5e1a29bd6c68b8ca Author: Patrick Palka <ppalka@redhat.com> Date: Wed Aug 18 08:37:42 2021 -0400 c++: ignore explicit dguides during NTTP CTAD [PR101883] Since (template) argument passing is a copy-initialization context, we mustn't consider explicit deduction guides when deducing a CTAD placeholder type of an NTTP. PR c++/101883 gcc/cp/ChangeLog: * pt.c (convert_template_argument): Pass LOOKUP_IMPLICIT to do_auto_deduction. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/nontype-class49.C: New test. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/101883] class template argument deduction in non-type template parameter allows explicit deduction guide 2021-08-12 15:29 [Bug c++/101883] New: class template argument deduction in non-type template parameter allows explicit deduction guide barry.revzin at gmail dot com 2021-08-12 18:04 ` [Bug c++/101883] " ppalka at gcc dot gnu.org 2021-08-18 12:39 ` cvs-commit at gcc dot gnu.org @ 2021-10-06 14:15 ` cvs-commit at gcc dot gnu.org 2021-10-06 14:16 ` ppalka at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2021-10-06 14:15 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101883 --- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>: https://gcc.gnu.org/g:52dd840c5eba25ef54dee3f1c78f371032a7c051 commit r11-9078-g52dd840c5eba25ef54dee3f1c78f371032a7c051 Author: Patrick Palka <ppalka@redhat.com> Date: Wed Aug 18 08:37:42 2021 -0400 c++: ignore explicit dguides during NTTP CTAD [PR101883] Since (template) argument passing is a copy-initialization context, we mustn't consider explicit deduction guides when deducing a CTAD placeholder type of an NTTP. PR c++/101883 gcc/cp/ChangeLog: * pt.c (convert_template_argument): Pass LOOKUP_IMPLICIT to do_auto_deduction. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/nontype-class49.C: New test. (cherry picked from commit a6b3db3e8625a3cba1240f0b5e1a29bd6c68b8ca) ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/101883] class template argument deduction in non-type template parameter allows explicit deduction guide 2021-08-12 15:29 [Bug c++/101883] New: class template argument deduction in non-type template parameter allows explicit deduction guide barry.revzin at gmail dot com ` (2 preceding siblings ...) 2021-10-06 14:15 ` cvs-commit at gcc dot gnu.org @ 2021-10-06 14:16 ` ppalka at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: ppalka at gcc dot gnu.org @ 2021-10-06 14:16 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101883 Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED Target Milestone|--- |11.3 --- Comment #3 from Patrick Palka <ppalka at gcc dot gnu.org> --- Fixed for GCC 11.3 and 12. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-10-06 14:16 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-12 15:29 [Bug c++/101883] New: class template argument deduction in non-type template parameter allows explicit deduction guide barry.revzin at gmail dot com 2021-08-12 18:04 ` [Bug c++/101883] " ppalka at gcc dot gnu.org 2021-08-18 12:39 ` cvs-commit at gcc dot gnu.org 2021-10-06 14:15 ` cvs-commit at gcc dot gnu.org 2021-10-06 14:16 ` ppalka at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).