From b596ffb838c3e4513601f1715e1aab64744db18c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kr=C3=BCgler?= Date: Sat, 4 Nov 2023 16:14:11 +0100 Subject: [PATCH] New issue from Eric Niebler: ""Required behavior" too narrowly defined" --- xml/issue4005.xml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 xml/issue4005.xml diff --git a/xml/issue4005.xml b/xml/issue4005.xml new file mode 100644 index 0000000000..926c9c0d2d --- /dev/null +++ b/xml/issue4005.xml @@ -0,0 +1,35 @@ + + + + +"Required behavior" too narrowly defined +
+Eric Niebler +03 Nov 2023 +99 + + +

+The library's definition of the term "required behavior" () makes it specific to +certain replaceable functions such as the replaceable global allocation functions. Notably, it is not one of the elements +that are allowed to appear in the descriptions of general function semantics. That is, it isn't in the list in + p3. +

+However, the specification of the random number generator library uses "Required behavior" as such a descriptive element +of its functions' semantics (e.g., ). +

+I think that's a fine use of "Required behavior", so I would like the term to be more generally applicable to the behavior +of any stdlib function that may be customized by users. This is relevant for std::execution, where algorithms are +customizable but the customizations are required to behave a certain way. +

+Daniel: +

+Bullet (2.4) of also contradicts to the more narrow definition of + by suddenly extending it to "destructor operations". +

+
+ + + + +