Title
"safe" in several library names is misleading
Status
c++20
Section
[ranges.syn]
Submitter
Casey Carter

Created on 2020-01-21.00:00:00 last changed 46 months ago

Messages

Date: 2020-02-13.18:18:33

Proposed resolution:

This wording is relative to N4849.

  1. Replace all occurrences of safe_range, enable_safe_range, safe_iterator_t, and safe_subrange_t in the working draft with borrowed_range, enable_borrowed_range, borrowed_iterator_t, and borrowed_subrange_t.

Date: 2020-02-15.00:00:00

[ 2020-02-13, Prague ]

Set to Immediate.

Date: 2020-02-08.00:00:00

[ 2020-02-08 Issue Prioritization ]

Priority to 1 after reflector discussion. This issue needs to be looked at by LEWG.

Date: 2020-01-21.00:00:00

Various WG21 members have commented that the use of "safe" in the names safe_range, enable_safe_range, safe_iterator_t, and safe_subrange_t to mean "fairly unlikely to produce dangling iterators" is inappropriate. The term "safe" has very strong connotations in some application domains, and these names don't intend such connotations. We could avoid confusion by changing these names to avoid the use of "safe". The Ranges Illuminati has deemed "borrowed" to be more appropriate: it reflects the fact that such ranges often "borrow" iterators from an adapted range which allows them to not be lifetime-bound to the adapting range.

History
Date User Action Args
2021-02-25 10:48:01adminsetstatus: wp -> c++20
2020-02-24 16:02:59adminsetstatus: immediate -> wp
2020-02-13 18:18:33adminsetmessages: + msg11078
2020-02-13 18:18:33adminsetstatus: lewg -> immediate
2020-02-08 13:16:52adminsetstatus: new -> lewg
2020-02-08 12:06:17adminsetmessages: + msg10989
2020-01-25 12:22:33adminsetmessages: + msg10958
2020-01-21 00:00:00admincreate