1 // { dg-do run { target c++11 } }
2 // PR c++86610 lambda capture inside template
3 
4 struct C
5 {
6   int operator[](int)
7   { return 1; }
8 
9   int operator[](int) const
10   { return 0; } // Want this one
11 };
12 
q()13 int q()
14 {
15   C c;
16   return [=] { return c[0]; }();
17 }
18 
19 template <typename T>
f()20 int f()
21 {
22   C c;
23   T d;
24   return [=] { return c[0]; }()
25     + [=] { return c[0] + d[0]; }();
26 }
27 
main()28 int main()
29 {
30   return q () + f<C>();
31 }
32