This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/49205] [C++0x] Default constructor with pack expansion parameter not detected
- From: "jason at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 20 Jun 2011 14:45:49 +0000
- Subject: [Bug c++/49205] [C++0x] Default constructor with pack expansion parameter not detected
- Auto-submitted: auto-generated
- References: <bug-49205-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49205
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.7.0
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2011-06-20 14:43:23 UTC ---
(In reply to comment #1)
> While this behavior is erroneous, consensus at clang was that WG21 made an
> oversight in allowing this. Template constructors are banned from being copy or
> move constructors, and historically this prohibition was not necessary for
> default constructors since there was no special handling of them except when
> implicit.
I disagree with this. As Johannes points out, it is possible to have a
template default constructor in C++03, so changing this would be a significant
change. We should just treat the variadic template as a default constructor.