function-templates.cpp 693 B

1234567891011121314151617181920212223
  1. namespace std {
  2. template<typename RandomAccessIterator>
  3. void sort(RandomAccessIterator first, RandomAccessIterator last);
  4. template<class X, class Y>
  5. X* dyn_cast(Y *Val);
  6. }
  7. class Foo {
  8. public:
  9. template<typename T> T &getAs();
  10. };
  11. void f() {
  12. std::sort(1, 2);
  13. Foo().getAs<int>();
  14. // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:15:8 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
  15. // CHECK-CC1: dyn_cast<<#class X#>>(<#Y *Val#>)
  16. // CHECK-CC1: sort(<#RandomAccessIterator first#>, <#RandomAccessIterator last#>
  17. // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:16:9 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s
  18. // CHECK-CC2: getAs<<#typename T#>>()
  19. )