2803. hash for arithmetic, pointer and standard library types should not throw

Section: 22.10.19 [unord.hash] Status: Resolved Submitter: United States Opened: 2016-11-09 Last modified: 2020-09-06

Priority: 3

View all other issues in [unord.hash].

View all issues with Resolved status.

Discussion:

Addresses US 140

Specializations of std::hash for arithmetic, pointer, and standard library types should not be allowed to throw. The constructors, assignment operators, and function call operator should all be marked as noexcept. It might be reasonable to consider making this a binding requirement on user specializations of the hash template as well (in p1) but that may be big a change to make at this stage.

[Issues Telecon 16-Dec-2016]

Priority 2, Nico to provide wording.

[2017-02-07, Nico comments]

Concrete wording is provided in P0599.

[2017-03-12, post-Kona]

Resolved by P0599R0.

Proposed resolution: