<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Let me try to clarify with two more motivating examples:<div><br></div><div><div><div>(1) Nodes.cpp:</div><div><br></div><div><div><div>FunctionParameters::FunctionParameters(ParameterNode* firstParameter, unsigned size)</div><div> : m_size(size)</div><div>{</div><div> unsigned i = 0;</div><div> for (ParameterNode* parameter = firstParameter; parameter; parameter = parameter->nextParam()) {</div><div><b> auto pattern = parameter->pattern();</b></div><div><b> pattern->ref();</b></div><div> patterns()[i++] = pattern;</div><div> }</div><div>}</div></div></div></div><div><br></div><div>If I had to describe this algorithm in English, I’d say, “Collect and retain all the [auto] from the list of parsed parameters.” I think that explanation would be stronger if “[auto]” were a concrete noun.</div><div><br></div><div>Does anybody prefer auto in this context? If so, why?</div><div><br></div><div>(2) ApplyStyleCommand.cpp:</div><div><br></div><div><div> auto children = elementChildren(*dummySpanAncestor);</div><div> for (auto child = children.begin(), end = children.end(); child != end; ++child) {</div><div><b> if (isSpanWithoutAttributesOrUnstyledStyleSpan(&*child))</b></div><div><b> toRemove.append(&*child);</b></div><div> }</div></div></div><div><br></div><div>I don’t understand why we’re &*’ing here. That’s a surprising idiom I haven’t seen before, which I would expect to be a no-op. My first question when reading this is, “What is the type of ‘child’, such that I would need to &* it?”. </div><div><br></div><div>Is this "&*child” obvious to everyone else?</div><div><br></div><div>Thanks,</div><div>Geoff</div></body></html>