https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70294

            Bug ID: 70294
           Summary: operator< and operator== for std::thread::id only
                    findable by ADL
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

#include <thread>
bool (*lt)(std::thread::id, std::thread::id) = &std::operator<;
bool (*eq)(std::thread::id, std::thread::id) = &std::operator==;

This fails because the friend functions in std::thread::id can't be found by
normal name lookup. There should be non-friend declarations at namespace scope.

I'll fix this post-gcc6.

Reply via email to