Re: [PATCH v2 06/27] update_refs(): Fix constness
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 31, 2014, 22:38 UTC
- Message-ID
- <xmqq38hy2dtx.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <5339E948.4090109@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 28 quoted lines
> On 03/31/2014 11:40 PM, Junio C Hamano wrote: >> Michael Haggerty <mhagger@alum.mit.edu> writes: >> >>> Since full const correctness is beyond the ability of C's type system, >>> just put the const where it doesn't do any harm. A (struct ref_update >>> **) can be passed to a (struct ref_update * const *) argument, but not >>> to a (const struct ref_update **) argument. >> >> Sounds good, but next time please try not to break lines inside a >> single typename, which is somewhat unreadable ;-) >> >> I'd suggest rewording "s/Fix/tighten/". Because a patch that >> changes constness can loosen constness to make things more correct, >> "git shortlog" output that says if it is tightening or loosening >> would be more informative than the one that says that it is "fixing". > > It is not a strict tightening, because I add a "const" in one place but > remove it from another: > > const struct ref_update ** > > becomes > > struct ref_update * const * > > in the update_refs() signature. In fact, the old declaration was too > strict for some changes later in the patch series, which is why I needed > to loosen (one aspect) of it.
Interesting. Then that _is_ a fix. Thanks for explaining it to me. As always, I would prefer it be explained to the proposed commit log, not to me over an e-mail ;-)