blob: df480f06ecc5d3823ae5046870f9e24cdbfcffa5 [file] [log] [blame]
// { 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);
};
A a;
A& A::operator=(const A &i) {
status = 0;
return a;
}
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;
}