http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55722
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-12-19 20:14:08 UTC --- I've just encountered this bug again when trying to replace constexpr unique_ptr(nullptr_t) noexcept : _M_t() { static_assert(!std::is_pointer<deleter_type>::value, "constructed with null function pointer deleter"); } with constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { } which causes a FAIL in the testsuite because now the constructor triggers the static_assert in the default constructor which already FAILed earlier in the file and so doesn't fire again.