"brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: > On Tue, Mar 28, 2017 at 10:27:41AM -0700, Junio C Hamano wrote: >> ... >> After all, the original written by a human said E2[E3].hash (or >> array->sha1[i]) because to the human's mind, E2 is a series of >> things that can be indexed with an int E3, and even though >> >> *(E2 + E3) >> E2[E3] >> E3[E2] >> >> all mean the same thing, the human decided that E2[E3] is the most >> natural way to express this particular reference to an item in the >> array. &E2[E3] would keep that intention by the original author >> better than E2 + E3. > > I'm happy to make that change. I'm an experienced C programmer, so a > pointer addition seems very readable and natural to me, but if you think > it's better or more readable as &E2[E3], I can certainly reroll. The obvious three possible variants I listed above are equivalent to the language lawyers and the compiler ;-). This change is about dropping the need for ".hash", and I think a faithful, boring and mechanical conversion that tries to preserve the intent of the original author would be more appropriate. It is entirely possible that some places where the original said E2[E3] were easier to understand if it were *(E2 + E3), thus we may want to further rewrite such a place to (E2 + E3) instead of &E2[E3] after the mechanical conversion. Thanks.