<div dir="ltr">The subject test includes this function:<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">void test_for_non_eager_instantiation() {</font></div></div></div><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">    // Ensure we don't accidentally instantiate `std::basic_string<Nonsense>`</font></div></div></div><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">    // since it may not be well formed and can cause an error in the</font></div></div></div><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">    // non-immediate context.</font></div></div></div><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">    static_assert(!std::is_constructible<std::bitset<3>, Nonsense*>::value, "");</font></div></div></div><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">    static_assert(!std::is_constructible<std::bitset<3>, Nonsense*, size_t, Nonsense&, Nonsense&>::value, "");</font></div></div></div><div><div style="font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div style=""><font color="#000000" style="background-color:rgb(255,255,255)">}</font></div></div></div></blockquote><div><br></div><div>which requires nonstandard behavior. Should these assertions be libc++-specific? (Should someone file an LWG issue to standardize the expected behavior?)</div></div>