> foo() が右のから評価されるか左のから評価されるか分からないって意味?

いや、順序以前に、2回呼んだら、2回め呼んだ時点で1つめは壊れてるだろ?
でどちらも「同じアドレス」を返すわけだろ?
だったらbarに渡る2つの引数はまったく同じアドレスが渡り、
内容も同じはず、ってのぐらいわからんのか?