summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/array17.C
blob: 12a5c472095b3c50ac4fbe29416ab1c3438821b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// { dg-do compile }

template <typename T>
struct V {
  T& operator[](int);
};

struct S {
  S operator +(int);
  template <typename T> T value();
};

template <typename T>
void R (T v)
{
  v[(S() + 0).template value<int>()][0] = 0;
}

int
main ()
{
  R(V<V<int> >());
}