<div dir="ltr">Can you give me an example of a trivial adapter with "broken" code and then how to fix it?  Doesn't this work?<div><br></div><div>class FooAdapter : public FormatAdapter<int> {</div><div>public:</div><div>  explicit FooAdapter(int n) : FormatAdapter<int>(n) {}</div><div>};</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Dec 14, 2016 at 9:58 AM Pavel Labath via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">labath updated this revision to Diff 81405.<br class="gmail_msg">
labath added a comment.<br class="gmail_msg">
<br class="gmail_msg">
Yes, I can. I can also add a static_assert test for that.<br class="gmail_msg">
<br class="gmail_msg">
As for the std::move issue, the only two options (which do not involve massive<br class="gmail_msg">
template magic) I can think of are:<br class="gmail_msg">
<br class="gmail_msg">
- live with it<br class="gmail_msg">
- have the base class not store the formatted member and leave it up for each derived class to decide how to store it.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D27679" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D27679</a><br class="gmail_msg">
<br class="gmail_msg">
Files:<br class="gmail_msg">
  docs/ProgrammersManual.rst<br class="gmail_msg">
  include/llvm/Support/FormatAdapters.h<br class="gmail_msg">
  include/llvm/Support/FormatCommon.h<br class="gmail_msg">
  include/llvm/Support/FormatProviders.h<br class="gmail_msg">
  include/llvm/Support/FormatVariadic.h<br class="gmail_msg">
  include/llvm/Support/FormatVariadicDetails.h<br class="gmail_msg">
  unittests/Support/FormatVariadicTest.cpp<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>