[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Jason Merrill changed: What|Removed |Added CC||jozef.kosoru at pobox dot sk --- Comment #18 from Jason Merrill --- *** Bug 8665 has been marked as a duplicate of this bug. ***
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #17 from Patrick Palka --- This won't be implemented in time for GCC 12, sadly. FWIW a class-scope explicit specialization should in most cases be equivalent to an appropriately constrained partial specialization. So as a workaround, instead of e.g.: struct A { template struct B; template<> struct B { }; // unsupported class-scope explicit specialization }; in C++20 one can do: struct A { template struct B; template T> struct B { }; }; or in C++17: struct A { template struct B; template struct B>> { }; };
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Patrick Palka changed: What|Removed |Added CC||dl.soluz at gmx dot net --- Comment #16 from Patrick Palka --- *** Bug 103232 has been marked as a duplicate of this bug. ***
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Patrick Palka changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Andrew Pinski changed: What|Removed |Added CC||yawaraka.7-11.hemogurobin@e ||zweb.ne.jp --- Comment #15 from Andrew Pinski --- *** Bug 93992 has been marked as a duplicate of this bug. ***
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Andrew Pinski changed: What|Removed |Added CC||qwdkguneykiffmmuyd at uivvn dot ne ||t --- Comment #14 from Andrew Pinski --- *** Bug 101848 has been marked as a duplicate of this bug. ***
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Patrick Palka changed: What|Removed |Added Assignee|ppalka at gcc dot gnu.org |unassigned at gcc dot gnu.org Status|ASSIGNED|NEW
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Jason Merrill changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #13 from Jason Merrill --- I vaguely remember us supporting this in the distant past, but removing that support to be conforming. Ah, yes, in 1998: r0-18485
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Patrick Palka changed: What|Removed |Added CC||ppalka at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org Status|NEW |ASSIGNED
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Dan Horák changed: What|Removed |Added CC||dan at danny dot cz --- Comment #12 from Dan Horák --- see https://bugzilla.mozilla.org/show_bug.cgi?id=1677690 for a real world example
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Jonathan Wakely changed: What|Removed |Added Last reconfirmed|2019-09-08 00:00:00 |2020-8-6 --- Comment #11 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #10) > I'm only going by what the issues list says. If that's wrong we should ask > Mike to update it. FTAOD, what I meant was that I *was* only going by what the issues list says when I claimed it's not a DR. I didn't mean to imply that I *will* only go by what the issues list says in all cases. So when GCC implements it, it should be for every mode.
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #10 from Jonathan Wakely --- (In reply to S. Davis Herring from comment #9) > > But it's not a DR, so it only applies to C++17 and not C++14 or older > > standards. > > Isn't it? Its motion does say "accept as Defect Reports". I'm only going by what the issues list says. If that's wrong we should ask Mike to update it.
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 S. Davis Herring changed: What|Removed |Added CC||herring at lanl dot gov --- Comment #9 from S. Davis Herring --- > But it's not a DR, so it only applies to C++17 and not C++14 or older > standards. Isn't it? Its motion does say "accept as Defect Reports".
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Marek Polacek changed: What|Removed |Added CC||haoxintu at gmail dot com --- Comment #8 from Marek Polacek --- *** Bug 96219 has been marked as a duplicate of this bug. ***
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #7 from Jonathan Wakely --- Compare to e.g. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1825 which says "[Moved to DR at the November, 2016 meeting.]" That means it's a retroactive fix for previous standards. That isn't the case for 727.
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #6 from Jonathan Wakely --- (In reply to Rustam Abdullaev from comment #5) > (In reply to Jonathan Wakely from comment #3) > > https://wg21.link/cwg727 > > > > N.B. this is a C++17 feature that does not seem to have been approved as a > > DR, but Clang supports it in all language modes. > > > CWG 727 says "Adopted at the February/March, 2017 meeting", and > [temp.class.spec]/5 in ISO/IEC 14882:2017(E) is reflecting the new wording. > So this is in C++17. The defect is on GCC side. Yes. That's what I said. But it's not a DR, so it only applies to C++17 and not C++14 or older standards.
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #5 from Rustam Abdullaev --- (In reply to Jonathan Wakely from comment #3) > https://wg21.link/cwg727 > > N.B. this is a C++17 feature that does not seem to have been approved as a > DR, but Clang supports it in all language modes. > CWG 727 says "Adopted at the February/March, 2017 meeting", and [temp.class.spec]/5 in ISO/IEC 14882:2017(E) is reflecting the new wording. So this is in C++17. The defect is on GCC side.
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Marek Polacek changed: What|Removed |Added CC||mikelojkovic at gmail dot com --- Comment #4 from Marek Polacek --- *** Bug 95160 has been marked as a duplicate of this bug. ***
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #3 from Jonathan Wakely --- https://wg21.link/cwg727 N.B. this is a C++17 feature that does not seem to have been approved as a DR, but Clang supports it in all language modes. Carlo, as an aside, your allocator fails to meet the allocator requirements. Rebinding must be reversible, so A::rebind::other::rebind::other must give you back A.
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Carlo Wood changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2019-09-08 CC||carlo at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Carlo Wood --- I ran into the same problem. I confirm this problem still exists in the current HEAD (10.0.0), as well as 9.x and 8.x. clang compiles the snippet fine. See my case here: https://wandbox.org/permlink/l5yYYGqsimSQ6Q6M
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #1 from songyuanyao --- The error message for the code (from gcc8.0.1): error: explicit specialization in non-namespace scope