[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2020-06-17 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

Patrick Palka  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
   Target Milestone|--- |10.0
 Resolution|--- |FIXED
 CC||ppalka at gcc dot gnu.org

--- Comment #6 from Patrick Palka  ---
Looks like this is fully fixed as of GCC 10.

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2019-09-23 Thread jeff.chapman.bugs at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

Jeff Chapman  changed:

   What|Removed |Added

 CC||jeff.chapman.bugs at gmail dot 
com

--- Comment #5 from Jeff Chapman  ---
Created attachment 46916
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46916=edit
Patch against concepts-cxx2a to add test (git format-patch format)

This appears to be fixed on concepts-cxx2a. Patch adds a test for the
rejects-valid and accepts-invalid cases.

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2018-08-16 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

--- Comment #4 from Jonathan Wakely  ---
This is the accepts-invalid example from PR 86978:

template 
struct S
{
template 
requires false
friend void foobar(S, t2) {}
};

int main()
{
foobar(S{}, int{});
}

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2018-08-16 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

--- Comment #3 from Jonathan Wakely  ---
*** Bug 86978 has been marked as a duplicate of this bug. ***

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2018-08-16 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-08-16
 Ever confirmed|0   |1

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2018-08-16 Thread h2+bugs at fsfe dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

Hannes Hauswedell  changed:

   What|Removed |Added

 CC||h2+bugs at fsfe dot org

--- Comment #2 from Hannes Hauswedell  ---
Constraints on friend member functions seemed to be stripped entirely,
therefore making two functions with only different constraints appear the same:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86978

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2017-10-13 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093

--- Comment #1 from Eric Niebler  ---
Still happens on trunk, 2 years later:

template 
concept bool True = true;

template 
struct S {
  friend bool operator==(S, int) requires True { return true; }
  friend bool operator==(S, int) requires !True { return true; }
};

int main() {
  S s;
}

:-(