2891. Relax library requirements on volatile types

Section: 20.5.5 [conforming] Status: NAD Submitter: Great Britain Opened: 2017-02-03 Last modified: 2017-07-16

Priority: Not Prioritized

View all other issues in [conforming].

View all issues with NAD status.

Discussion:

Addresses GB 35

Most implementations have poor testing and support for instantiating standard library templates with volatile-qualified types. We should grant a library-freedom to conforming implementations so that support for volatile (and const volatile) qualified types in standard library templates is not required unless explicitly specified — and mandate such support for all templates in the <type_traits> header. Additional support is already specified in most places we would be interested (e.g., tuple API). We may want to additionally guarantee support through forwarding references.

Proposed change: add a new 17.6.5.x Volatile Qualified Types [res.on.volatile.type] describing the intended level of support for volatile qualifiers.

[2017-07 Toronto Thurs Issue Prioritization]

This is not a defect, but a feature request (and a large one). Papers welcome, but closing as NAD

Proposed resolution: