| // RUN: rm -rf %t |
| // RUN: %clang_cc1 -std=c++11 -nostdsysteminc -I%S/Inputs/PR28812 -verify %s |
| // RUN: %clang_cc1 -std=c++11 -nostdsysteminc -fmodules -fimplicit-module-maps \ |
| // RUN: -fmodules-cache-path=%t -I%S/Inputs/PR28812 -verify %s |
| |
| template <typename> struct VarStreamArrayIterator; |
| template <typename ValueType> |
| struct VarStreamArray { |
| typedef VarStreamArrayIterator<ValueType> Iterator; |
| Iterator begin() { return Iterator(*this); } |
| }; |
| |
| #include "Textual.h" |
| |
| #include "a.h" |
| #include "b.h" |
| |
| VarStreamArray<int> a; |
| auto b = a.begin(); |
| |
| // expected-no-diagnostics |
| |