File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -11741,14 +11741,22 @@
11741
11741
\begin {itemdescr }
11742
11742
\pnum
11743
11743
\constraints
11744
- The expression \tcode {::new (declval<void*>()) T(declval<Args>()...)}
11744
+ \tcode {is_unbounded_array_v<T>} is \tcode {false}.
11745
+ The expression \tcode {::new (declval<void*>()) T(\linebreak {}declval<Args>()...)}
11745
11746
is well-formed when treated as an unevaluated operand\iref {term.unevaluated.operand }.
11746
11747
11748
+ \pnum
11749
+ \mandates
11750
+ If \tcode {is_array_v<T>} is \tcode {true}, \tcode {sizeof...(Args)} is zero.
11751
+
11747
11752
\pnum
11748
11753
\effects
11749
11754
Equivalent to:
11750
11755
\begin {codeblock }
11751
- return ::new (@\placeholdernc {voidify}@(*location)) T(std::forward<Args>(args)...);
11756
+ if constexpr (is_array_v<T>)
11757
+ return ::new (@\placeholdernc {voidify}@(*location)) T[1]();
11758
+ else
11759
+ return ::new (@\placeholdernc {voidify}@(*location)) T(std::forward<Args>(args)...);
11752
11760
\end {codeblock }
11753
11761
\end {itemdescr }
11754
11762
You can’t perform that action at this time.
0 commit comments