// 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 struct VarStreamArrayIterator; template struct VarStreamArray { typedef VarStreamArrayIterator Iterator; Iterator begin() { return Iterator(*this); } }; #include "Textual.h" #include "a.h" #include "b.h" VarStreamArray a; auto b = a.begin(); // expected-no-diagnostics