Fixed operator= when dealing with self