This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.

3487. Missing precondition on input and output aliasing of [numeric.ops]

Section: 25.10 [numeric.ops] Status: New Submitter: Matthias Kretz Opened: 2020-10-01 Last modified: 2020-10-04

Priority: 3

View all other issues in [numeric.ops].

View all issues with New status.

Discussion:

The algorithms partial_sum, exclusive_scan, inclusive_scan, transform_exclusive_scan, transform_inclusive_scan, and adjacent_difference with no ExecutionPolicy do not have a precondition "result is not in the range [first, last)". But they explicitly allow "result may be equal to first". This suggests the precondition got lost, because otherwise the permission is redundant.

Suggested fix: Add "result is not in the range [first + 1, last)." to the Preconditions paragraphs of the affected generalized numeric operations.

[2020-10-02; Issue processing telecon: Priority set to P3.]

Proposed resolution: