// RUN: %clang_cc1 -emit-pch -std=c++2a -o %t %s
// RUN: %clang_cc1 -std=c++2a -x ast -ast-print %t | FileCheck %s

// RUN: %clang_cc1 -emit-pch -std=c++2a -fpch-instantiate-templates -o %t %s
// RUN: %clang_cc1 -std=c++2a -x ast -ast-print %t | FileCheck %s

template<typename T>
concept C = true;

template<typename T, typename U>
concept C2 = true;

template<typename T>
bool f() {
  // CHECK: requires (T t) { t++; { t++ } noexcept -> C; { t++ } -> C2<int>; typename T::a; requires T::val; };
  return requires (T t) {
    t++;
    { t++ } noexcept -> C;
    { t++ } -> C2<int>;
    typename T::a;
    requires T::val;
  };
}
