#include <cassert>
struct A
{
  bool operator[](int index)
  {
    return true;
  }
};

struct B
{
  A a;
  bool operator[](int index)
  {
    return false;
  }
  bool func()
  {
    return a[0];
  }
};

int main()
{
  B b;
  assert(b.func() == true);
}
