1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -std=c++14 %s 2*67e74705SXin Li 3*67e74705SXin Litemplate<class T> class vector {}; 4*67e74705SXin Li@protocol P @end 5*67e74705SXin Li 6*67e74705SXin Li// expected-no-diagnostics 7*67e74705SXin Li 8*67e74705SXin Litemplate <typename Functor> void F(Functor functor) {} 9*67e74705SXin Li 10*67e74705SXin Li// Test protocol in template within lambda capture initializer context. 11*67e74705SXin Livoid z() { 12*67e74705SXin Li id<P> x = 0; 13*67e74705SXin Li (void)x; 14*67e74705SXin Li F( [ x = vector<id<P>>{} ] {} ); 15*67e74705SXin Li} 16