Title
Relax the prohibition on libraries adding constexpr
Status
nad
Section
[constexpr.functions]
Submitter
Great Britain

Created on 2017-02-03.00:00:00 last changed 79 months ago

Messages

Date: 2018-06-12.04:35:59

Proposed resolution:

This wording is relative to N4640.

  1. Modify [constexpr.functions] as indicated:

    This International Standard explicitly requires that certain standard library functions are constexpr (7.1.5). An implementation may declare additional standard library function signatures as constexprAn implementation shall not declare any standard library function signature as constexpr except for those where it is explicitly required. Within any header that provides any non-defining declarations of constexpr functions or constructors an implementation shall provide corresponding definitions.

Date: 2018-06-12.04:35:59

[ 2018-06 Rapperswil Thursday issues processing ]

This is a feature request; not a defect. We've had two cross-group meetings over this, and there is no consensus for changing this. Closing as NAD.

Date: 2017-07-15.23:15:19

[ 2017-07 Toronto Thurs Issue Prioritization ]

Priority 1

Date: 2017-02-15.00:00:00

[ 2017-02-20, Marshall adds wording ]

The simplest change would be to strike the sentence "An implementation shall not […] explicitly required". However, people seem to want a definite permission here, so I have provided one.

Date: 2017-02-03.00:00:00
Addresses GB 38

Relax the prohibition on libraries adding constexpr; this was a constraint requested by library implementers when constexpr was new, and those same implementers now feel unduly constrained.

Proposed change: Rewrite the whole sub-clause to support libraries adding constexpr in a compatible manner, much like the freedom to add a noexcept specification.

History
Date User Action Args
2018-06-12 04:35:59adminsetmessages: + msg9909
2018-06-12 04:35:59adminsetstatus: new -> nad
2017-07-15 23:15:19adminsetmessages: + msg9391
2017-02-20 17:31:58adminsetmessages: + msg8952
2017-02-20 17:31:58adminsetmessages: + msg8951
2017-02-03 00:00:00admincreate