https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51013
Ross Martin <ross.martin at ieee dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ross.martin at ieee dot org --- Comment #14 from Ross Martin <ross.martin at ieee dot org> --- This change to not be able to pull out a reference to the real or imaginary parts has messed me up. The assumption being made by this new complex class is that the real and imaginary parts are just a float or a double. That is false in my code, and doesn't seem to be a good assumption for a general-purpose complex implementation. My code has real and imaginary parts that are themselves full classes. These classes can, at times, act like double-precision numbers, so it makes sense to build complex numbers out of them for arithmetic manipulations. However, I need direct access to the real and imaginary parts to be able to access other parts of the class parameters, and this new complex-class implementation explicitly forbids any direct access to the real and imaginary parts in a type-safe way that doesn't rely on knowledge of internal class data organization. Not a good change, IMHO.