<div dir="ltr">+rtrieu</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 12, 2015 at 3:53 PM, Ismail Pazarbasi <span dir="ltr"><<a href="mailto:ismail.pazarbasi@gmail.com" target="_blank">ismail.pazarbasi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi rsmith, dblaikie,<br>
<br>
If a member of type unique_ptr or shared_ptr is move-constructed from<br>
a parameter in ctor-init, the parameter will be left with nullptr at<br>
the completion of member's initialization. If the parameter's and<br>
member's names are the same, use of member's name in the constructor<br>
body will not refer to the member, but to the parameter.<br>
<br>
  #include <memory><br>
  struct X {<br>
    int v;<br>
    X() : v() { }<br>
    int f() { return v + 42; }<br>
  };<br>
<br>
  struct Y {<br>
    std::unique_ptr<X> p;<br>
    int x;<br>
    explicit Y(std::unique_ptr<X> p)<br>
      : p{std::move(p)} {<br>
      x = p->f();  // 'p' is nullptr<br>
      decltype(p->f()) v = x; // ignore unevaluated context<br>
    }<br>
    int f() const { return x; }<br>
  };<br>
<br>
  int main() {<br>
    std::unique_ptr<X> p(new X);<br>
    Y y(std::move(p));<br>
    return y.f();<br>
  }<br>
<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D10425&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=D0Fi9XMSeXBB8t054azM9D3rm_r2oL10fCpZnTZe8io&s=Rfbn9p_qt2_UpZKNWYijxIFGYux3-e1Dj1WG_XnU69I&e=" rel="noreferrer" target="_blank">http://reviews.llvm.org/D10425</a><br>
<br>
Files:<br>
  include/clang/Basic/DiagnosticGroups.td<br>
  include/clang/Basic/DiagnosticSemaKinds.td<br>
  lib/Sema/SemaDecl.cpp<br>
  test/SemaCXX/rval-references.cpp<br>
<br>
EMAIL PREFERENCES<br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_settings_panel_emailpreferences_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=D0Fi9XMSeXBB8t054azM9D3rm_r2oL10fCpZnTZe8io&s=b4oNJAOULaS9lU8-Q886fPtiWklGpLlPhJq_3tJpnRw&e=" rel="noreferrer" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
</blockquote></div><br></div>