Section: 22.10.19 [unord.hash] Status: New Submitter: Jonathan Wakely Opened: 2020-12-28 Last modified: 2021-01-29
Priority: 3
View all other issues in [unord.hash].
View all issues with New status.
Discussion:
See this editorial issue.
22.10.19 [unord.hash] p5.4 ends with "shall not throw an exception unlesshash<Key>
is a program-defined specialization that depends on at least one program-defined type."
This seems wrong, because hash<optional<T>>
is not a program-defined specialization,
but it might throw if hash<T>
can throw. There are also other partial specializations
of std::hash
defined in the standard library but that depend on program-defined specializations
and so can throw.
[2021-01-29; reflector prioritization]
Set priority to 3 following reflector discussions. It was pointed out that this wording could be simplified if 3513 changes the definition of program-defined type.Proposed resolution: