diff --git a/stl/inc/deque b/stl/inc/deque index 9331177969..a5a97e287c 100644 --- a/stl/inc/deque +++ b/stl/inc/deque @@ -650,6 +650,9 @@ public: _Construct_n(_Count, _Val); } +#if _HAS_CXX17 + template ::value, int> = 0> +#endif // _HAS_CXX17 deque(_CRT_GUARDOVERFLOW size_type _Count, const _Ty& _Val, const _Alloc& _Al) : _Mypair(_One_then_variadic_args_t{}, _Al) { _Construct_n(_Count, _Val); diff --git a/stl/inc/forward_list b/stl/inc/forward_list index 3966b11475..7a5da3e152 100644 --- a/stl/inc/forward_list +++ b/stl/inc/forward_list @@ -561,6 +561,9 @@ public: _Insert_op._Attach_after(_Mypair._Myval2._Before_head()); } +#if _HAS_CXX17 + template ::value, int> = 0> +#endif // _HAS_CXX17 forward_list(_CRT_GUARDOVERFLOW size_type _Count, const _Ty& _Val, const _Alloc& _Al) : _Mypair(_One_then_variadic_args_t{}, _Al) { // construct list from _Count * _Val, allocator _Flist_insert_after_op2<_Alnode> _Insert_op(_Getal()); diff --git a/stl/inc/list b/stl/inc/list index 92010ca153..30a30caedf 100644 --- a/stl/inc/list +++ b/stl/inc/list @@ -845,6 +845,9 @@ public: _Construct_n(_Count, _Val); } +#if _HAS_CXX17 + template ::value, int> = 0> +#endif // _HAS_CXX17 list(_CRT_GUARDOVERFLOW size_type _Count, const _Ty& _Val, const _Alloc& _Al) : _Mypair(_One_then_variadic_args_t{}, _Al) { // construct list from _Count * _Val, allocator _Construct_n(_Count, _Val); diff --git a/stl/inc/vector b/stl/inc/vector index 31dcc96706..c703d95aca 100644 --- a/stl/inc/vector +++ b/stl/inc/vector @@ -622,6 +622,9 @@ public: _Construct_n(_Count); } +#if _HAS_CXX17 + template ::value, int> = 0> +#endif // _HAS_CXX17 _CONSTEXPR20 vector(_CRT_GUARDOVERFLOW const size_type _Count, const _Ty& _Val, const _Alloc& _Al = _Alloc()) : _Mypair(_One_then_variadic_args_t{}, _Al) { _Construct_n(_Count, _Val); diff --git a/stl/inc/xstring b/stl/inc/xstring index 9fa58a2271..6bc2b3d35c 100644 --- a/stl/inc/xstring +++ b/stl/inc/xstring @@ -2547,6 +2547,9 @@ public: _Construct<_Construct_strategy::_From_ptr>(_Ptr, _Count); } +#if _HAS_CXX17 + template ::value, int> = 0> +#endif // _HAS_CXX17 _CONSTEXPR20 basic_string( _In_reads_(_Count) const _Elem* const _Ptr, _CRT_GUARDOVERFLOW const size_type _Count, const _Alloc& _Al) : _Mypair(_One_then_variadic_args_t{}, _Al) { diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index c681105abc..0515ffca98 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -905,7 +905,6 @@ std/containers/associative/map/map.cons/deduct_const.pass.cpp FAIL std/containers/associative/multimap/multimap.cons/deduct.pass.cpp FAIL std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp FAIL std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp FAIL -std/containers/sequences/list/list.cons/deduct.pass.cpp FAIL std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp FAIL std/containers/unord/unord.map/unord.map.cnstr/deduct_const.pass.cpp FAIL std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.pass.cpp FAIL @@ -943,11 +942,6 @@ std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp # Not analyzed. Error mentions allocator. std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp FAIL -# Not analyzed. Looks like deduction guide SFINAE failure. -std/containers/sequences/deque/deque.cons/deduct.pass.cpp FAIL -std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp FAIL -std/containers/sequences/vector/vector.cons/deduct.pass.cpp FAIL - # Not analyzed. Seems to force a sign conversion error? std/iterators/iterator.primitives/iterator.operations/advance.pass.cpp SKIPPED