view gcc/testsuite/g++.dg/cpp2a/concepts-pr68812.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// { dg-do compile { target c++2a } }
// { dg-additional-options "-fconcepts-ts" }

namespace zero
{
  template<int... s>
  struct S
  {
    template<int... f>
      requires(... and (s == f))
    static void F()
    {
    }
  };

  void foo(S<>) {}
}

namespace one
{
  template<typename X, typename Y> concept bool Foo = true;

  template<typename... T>
  struct foo
  {
    template<typename... U>
    foo(U...)
      requires (Foo<T, U> && ...)
    {}
  };

  void bar(foo<int, long, double>) {}
}