<table><tr><td style="">dfaure marked 18 inline comments as done.<br />dfaure added inline comments.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24160">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-136890">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kossebau</span> wrote in <span style="color: #4b4d51; font-weight: bold;">kmountpoint.cpp:344</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Why change away from auto?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Consistency with all other range for loops in kio, and <a href="https://wiki.qt.io/Coding_Conventions#auto_Keyword" class="remarkup-link" target="_blank" rel="noreferrer">https://wiki.qt.io/Coding_Conventions#auto_Keyword</a></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-136891">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kossebau</span> wrote in <span style="color: #4b4d51; font-weight: bold;">kmountpoint.cpp:429</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;"><tt style="background: #ebebeb; font-size: 13px;">it</tt> -> <tt style="background: #ebebeb; font-size: 13px;">mountPointPtr</tt>? Perfect would be renaming the existing <tt style="background: #ebebeb; font-size: 13px;">mountpoint</tt> to <tt style="background: #ebebeb; font-size: 13px;">mountPointPath or something, so </tt>mountPoint` could be used as loop var name. But I also think this would be too invasive WRT commit history and commit purpose.<br />
Or <tt style="background: #ebebeb; font-size: 13px;">mp</tt>, as used in some other code also looping over the same structure, see below in src/widgets/kpropertiesdialog.cpp</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">picked <tt style="background: #ebebeb; font-size: 13px;">mp</tt></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-136896">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kossebau</span> wrote in <span style="color: #4b4d51; font-weight: bold;">kdirsortfilterproxymodel.cpp:119</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Curious: while touching this, would a <tt style="background: #ebebeb; font-size: 13px;">static const</tt> or <tt style="background: #ebebeb; font-size: 13px;">constexpr</tt> not be the even better option?<br />
Any rule of thumb known when telling the compiler which way to treat this?<br />
Right now unsure what the compiler even does with a plain const array in a method without any optimization. It copies the array data onto the stack on the method invocation, or?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Good question.</p>

<p style="padding: 0; margin: 8px;">Without optimizations, I assume <tt style="background: #ebebeb; font-size: 13px;">static</tt> means generating atomics for thread-safety, while on stack generates a <tt style="background: #ebebeb; font-size: 13px;">memcpy</tt> indeed. <br />
I checked the assembly on godbolt.org, for that last part. Couldn't see atomics with static because the testcase is all in main(), so no threads involved, but in a library method this is a requirement.</p>

<p style="padding: 0; margin: 8px;">With -O2, the generated code is exactly the same.<br />
<a href="https://godbolt.org/z/Ez8fba" class="remarkup-link" target="_blank" rel="noreferrer">https://godbolt.org/z/Ez8fba</a></p>

<p style="padding: 0; margin: 8px;">So I guess it doesn't matter?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-136903">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kossebau</span> wrote in <span style="color: #4b4d51; font-weight: bold;">kuriikwsfiltereng.cpp:304</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">unrelated change, please separate commit</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Indeed, this whole subdir was in need of code reformatting.<br />
Done, <a href="https://commits.kde.org/kio/c8c2eff2a2362278acddcc995221176a7788e24e" class="remarkup-link" target="_blank" rel="noreferrer">https://commits.kde.org/kio/c8c2eff2a2362278acddcc995221176a7788e24e</a></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-136906">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kossebau</span> wrote in <span style="color: #4b4d51; font-weight: bold;">kuriikwsfiltereng.cpp:311</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Unrelated change/fix, please separate commit. Though, is this even correct? There is no <tt style="background: #ebebeb; font-size: 13px;">QString::operator>=(QChar)</tt> & similar, is there?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Oh indeed, I thought <tt style="background: #ebebeb; font-size: 13px;">c</tt> was a QChar, given its name...</p>

<p style="padding: 0; margin: 8px;">I guess this creates a QString from the QChar but yeah I'll revert.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-137479">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kuriikwsfiltereng.cpp:324</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">            <span style="color: #aa4000">if</span> <span class="p">(</span><span class="n">it</span> <span style="color: #aa2211">!=</span> <span class="n">ql</span><span class="p">.</span><span class="n">end</span><span class="p">())</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">              <span class="n">it</span><span style="color: #aa2211">-></span><span class="n">clear</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">          <span class="p">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">the code here uses clear() already for <tt style="background: #ebebeb; font-size: 13px;">ql</tt> elements.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-137481">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kuriikwsfiltereng.cpp:346</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">      <span style="color: #74777d">// Generate list of unmatched strings:</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">      <span class="n">QString</span> <span class="n">v</span> <span style="color: #aa2211">=</span> <span class="n">ql</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="n">QLatin1Char</span><span class="p">(</span><span style="color: #766510">' '</span><span class="p">)).</span><span class="n">simplified</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">and this is the final use of <tt style="background: #ebebeb; font-size: 13px;">ql</tt>, null vs empty makes no difference =><br />
<a href="https://commits.kde.org/kio/ea035cd204dea8cd563155c4256400fe67e8b69c" class="remarkup-link" target="_blank" rel="noreferrer">https://commits.kde.org/kio/ea035cd204dea8cd563155c4256400fe67e8b69c</a></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-137482">View Inline</a><span style="color: #4b4d51; font-weight: bold;">dropjob.cpp:67</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">explicit</span> <span class="n">DropMenu</span><span class="p">(</span><span class="n">QWidget</span> <span style="color: #aa2211">*</span><span class="n">parent</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">nullptr</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">    <span style="color: #aa2211">~</span><span class="n">DropMenu</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa2211">~</span><span class="n">DropMenu</span><span class="p">()<span class="bright"></span></span><span class="bright"> </span><span style="color: #aa4000"><span class="bright">override</span></span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Moved all overrides to <a href="https://commits.kde.org/kio/54429f8a36aad65088b02eb9d13c3bf78f61f22f" class="remarkup-link" target="_blank" rel="noreferrer">https://commits.kde.org/kio/54429f8a36aad65088b02eb9d13c3bf78f61f22f</a></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24160#inline-136917">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kossebau</span> wrote in <span style="color: #4b4d51; font-weight: bold;">kurifilter.cpp:681</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">I would make this a separate commit, as this does not exactly match the commit message and might confuse future history readers.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;"><a href="https://commits.kde.org/kio/1660e30f3821204b08b43910738fa52ce1cf0915" class="remarkup-link" target="_blank" rel="noreferrer">https://commits.kde.org/kio/1660e30f3821204b08b43910738fa52ce1cf0915</a></p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24160">https://phabricator.kde.org/D24160</a></div></div><br /><div><strong>To: </strong>dfaure, bruns, kossebau<br /><strong>Cc: </strong>kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns<br /></div>