// { dg-do run }

// Test that A's copy assignment method is called when B's instance
// member array of A is assigned.

// Contributed by Brian Gaeke, public domain.
int status = 1;

class A
{
public:
  int i;
  A &operator =(const A &i)
  {
    status = 0;
  }
};

class B
{
public:
  A arr[10];
};

int main (int argc, char **argv)
{
  B b;
  b.arr[0].i = 15;
  B a;
  a = b; // trigger copy assignment
  return status;
}
