1*a935179aSSebastian Redl // RUN: %clang_cc1 -fsyntax-only %s 2*a935179aSSebastian Redl 3*a935179aSSebastian Redl template <typename T> 4*a935179aSSebastian Redl struct foo { 5*a935179aSSebastian Redl struct bar; 6*a935179aSSebastian Redl fnfoo7*a935179aSSebastian Redl bar fn() { 8*a935179aSSebastian Redl // Should not get errors about bar being incomplete here. 9*a935179aSSebastian Redl bar b = bar(1, 2); 10*a935179aSSebastian Redl return b; 11*a935179aSSebastian Redl } 12*a935179aSSebastian Redl }; 13*a935179aSSebastian Redl 14*a935179aSSebastian Redl template <typename T> 15*a935179aSSebastian Redl struct foo<T>::bar { 16*a935179aSSebastian Redl bar(int, int); 17*a935179aSSebastian Redl }; 18*a935179aSSebastian Redl fn()19*a935179aSSebastian Redlvoid fn() { 20*a935179aSSebastian Redl foo<int>().fn(); 21*a935179aSSebastian Redl } 22