| // RUN: c-index-test -test-load-source-usrs local -std=c++20 -- %s | FileCheck %s | |
| // Check USRs of template specializations with structural NTTP values. | |
| template <auto> struct Tpl{}; | |
| struct { | |
| int n; | |
| } s; | |
| void fn1(Tpl<1.5>); | |
| // CHECK: fn1#$@S@Tpl>#Sd[[#HASH:]]# | |
| void fn2(Tpl<1.7>); | |
| // CHECK-NOT: [[#HASH]] | |
| void fn1(Tpl<1.5>) {} | |
| // CHECK: fn1#$@S@Tpl>#Sd[[#HASH]]# | |
| void fn(Tpl<&s.n>); | |
| // CHECK: #S*I[[#HASH:]]# | |
| void fn(Tpl<(void*)&s.n>); | |
| // CHECK: #S*v[[#HASH]]# | |
| void fn(Tpl<&s.n>) {} | |
| // CHECK: #S*I[[#HASH]]# |