| // RUN: %clang_cc1 -std=c++20 -ast-dump %s | FileCheck %s |
| void f() requires(N == 1) { |
| void f() requires(N == 2) { |
| // This checks that `canary1<1>` and `canaray2<2>` are instantiated, thus |
| // indirectly validating that the correct candidates of `A::f` were really |
| // instantiated each time. |
| // The `static_assert`s validate we don't instantiate wrong candidates. |
| // CHECK:{{.*}}FunctionTemplateDecl {{.*}} canary1 |
| // CHECK: {{.*}}TemplateArgument integral |
| // CHECK: {{.*}}FunctionTemplateDecl {{.*}} canary2 |
| // CHECK: {{.*}}TemplateArgument integral |