<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 2020 Dec 1, at 21:04, Chris Lattner <<a href="mailto:clattner@nondot.org" class="">clattner@nondot.org</a>> wrote:</div><div class=""><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class=""><br class=""></div><div class="">1) are you, or anyone else, interested in driving an llvm::Vector proposal + coding standard change to get us going in the right direction? I don’t think we need a mass migration of the code base, just get the policy aligned right plus the new type name to exist.</div></div></div></blockquote><div><br class=""></div><div>I'll try to get a minimal patch together with docs and send an RFC later this week.</div><div><br class=""></div><div>(</div><div>I think the initial patch could be as simple as:</div><div>```</div><div>template <class T> using Vector = SmallVector<T, 0>;</div><div>```</div><div>but maybe we'd want to rename `SmallVectorImpl` to `VectorImpl`, or maybe there are other ideas, but off topic for this thread...</div><div>)</div><div><br class=""></div><div><blockquote type="cite" class=""><div class="">On 2020 Dec 2, at 09:51, James Y Knight <<a href="mailto:jyknight@google.com" class="">jyknight@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span class="" style="float: none; display: inline !important;">I strongly disagree here. Not wanting to bother to add 'noexcept' to user-defined move-constructors is a poor justification for switching to a different vector type. Perhaps there are </span><i class="">other</i><span class="" style="float: none; display: inline !important;"> reasons which might justify avoiding std::vector, but not that...</span></div></blockquote><div class=""><div class=""><span class="" style="float: none; display: inline !important;"><br class=""></span></div></div></div><div>I'll be sure to mention this alternative in the RFC for llvm::Vector; we can talk about it there; maybe you'll convince the rest of us to add the `noexcept`s everywhere and then the justification for llvm::Vector would indeed be weaker (not completely absent though)...</div></div></body></html>