diff --git a/stl/inc/deque b/stl/inc/deque index 93311779694..a5a97e287c0 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 3966b11475d..7a5da3e152e 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 92010ca153f..30a30caedfa 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 31dcc967068..c703d95aca2 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 9fa58a22710..6bc2b3d35c3 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 c681105abc2..0515ffca980 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