1 // PR c++/89831
2 
3 struct Q {
4     int operator[](int i) { return 0; }
5     int operator[](int i) const { return 0; }
6 };
7 
8 struct Base {
9     Q x;
10 };
11 struct X : public Base {
12     template <typename T>
fX13     void f(T) const {
14         int q = Base::x[0];
15     }
16 };
main()17 int main() { X().f(3); }
18