------- Comment #4 from anhvofrcaus at gmail dot com 2008-04-24 01:32 ------- Samuel: <Note that this function knows *nothing* about T2, so it cannot obviously compare new fields added in T2, it only compares fields already present in T1.>
That is exactly my point. Pak1.= operator only operates on T1. The conversion Pak1.T1(Z1) and Pak1.T1(Z2) will drop component F1. Thus, as I said before Pak1.Eq(Pak1.T1(Z1), Pak1.T1(Z2)) always yields True. In the meantime, Pak2.Eq(Z1, Z2) always returns False. Therefore, comparing True and False should yield False. -- anhvofrcaus at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anhvofrcaus at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32181