1 // RUN: %clang_cc1 -std=c++20 -ast-dump %s | FileCheck %s
12 void f() requires(N
== 1) {
13 static_assert(N
== 1);
16 void f() requires(N
== 2) {
17 static_assert(N
== 2);
22 // This checks that `canary1<1>` and `canaray2<2>` are instantiated, thus
23 // indirectly validating that the correct candidates of `A::f` were really
24 // instantiated each time.
25 // The `static_assert`s validate we don't instantiate wrong candidates.
27 // CHECK:{{.*}}FunctionTemplateDecl {{.*}} canary1
28 // CHECK: {{.*}}TemplateArgument integral
29 // CHECK-SAME: {{'1'$}}
32 // CHECK: {{.*}}FunctionTemplateDecl {{.*}} canary2
33 // CHECK: {{.*}}TemplateArgument integral
34 // CHECK-SAME: {{'2'$}}