diff --git a/libstdc++-v3/include/std/format b/libstdc++-v3/include/std/format index 16cee0d3c74d..8f6a82a1fd41 100644 --- a/libstdc++-v3/include/std/format +++ b/libstdc++-v3/include/std/format @@ -3667,8 +3667,6 @@ namespace __format { return {_Format_arg::template _S_to_enum<_Args>()...}; } public: - basic_format_args() noexcept = default; - template basic_format_args(const _Store<_Args...>& __store) noexcept; diff --git a/libstdc++-v3/testsuite/std/format/arguments/args.cc b/libstdc++-v3/testsuite/std/format/arguments/args.cc index eba129ff8944..16ca71caecbe 100644 --- a/libstdc++-v3/testsuite/std/format/arguments/args.cc +++ b/libstdc++-v3/testsuite/std/format/arguments/args.cc @@ -3,6 +3,10 @@ #include #include +// LWG 4106. basic_format_args should not be default-constructible +static_assert( ! std::is_default_constructible_v ); +static_assert( ! std::is_default_constructible_v ); + template bool equals(std::basic_format_arg fmt_arg, T expected) { return std::visit_format_arg([=](auto arg_val) {