<div dir="ltr"><div>> A default constructor is trivial if it is not user-provided and if ... <span style="color:rgb(0,0,0);font-family:serif;font-size:medium;text-align:justify">no non-static data member of its class has a default member initializer ...</span></div><div><br></div><div><a href="http://eel.is/c++draft/class.ctor#6.2">http://eel.is/c++draft/class.ctor#6.2</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-01-25 15:11 GMT+03:00 Gabriel Charette via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hello Clang/C++ experts!</div><div><br></div><div>I'm confused on what it takes to be std::is_trivial_default_<wbr>constructible?</div><div><br></div>This doesn't even compile (leaving x_ uninitialized compiles but I don't see why it's not trivial to initialize a POD member inline):<div><br></div><div><div>class Test {</div><div> public:</div><div>  int x_ = 0;</div><div>};</div><div><br></div><div>static_assert(std::is_<wbr>trivially_default_<wbr>constructible<Test>::value, "");</div></div><div><br></div><div>-> error: static_assert failed due to requirement 'std::is_trivially_default_<wbr>constructible<Test>::value' ""</div><div><br></div><div>I also tried making a constexpr Test() = default; constructor but I can't get anything with POD members initialized inline to pass the std::is_trivially_default_<wbr>constructible test...?!</div><div><br></div><div>Thanks!</div><div>Gab</div></div>
<br>______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>