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

            Bug ID: 67719
           Summary: [concepts] bug with concepts using logical or
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ryan.burn at gmail dot com
  Target Milestone: ---

This code fails to compile but should.

It gives the following error:

main.cpp: In function β€˜int main()’:
main.cpp:11:15: error: template constraint failure
   Ax<int, long> a;
               ^
main.cpp:11:15: note:   constraints not satisfied
main.cpp:11:15: note:   in the expansion of β€˜(C<Tx>)()...’

/////////////////////////////////////////////////////////////////////
#include <type_traits>                                                          

template<class X> concept bool C() {                                            
  return std::is_same<X, int>::value || std::is_same<X, long>::value;           
}                                                                               

template<C... Tx>                                                               
struct Ax {};                                                                   

int main() {                                                                    
  Ax<int, long> a;                                                              
  return 0;                                                                     
}
/////////////////////////////////////////////////////////////////////

Reply via email to