Unclear note about cv-qualified function types
Section [dcl.fct]
Doug Gregor

Created on 2008-09-11.00:00:00 last changed 143 months ago


Date: 2009-10-15.00:00:00

[Voted into WP at October, 2009 meeting.]

Date: 2009-03-15.00:00:00

Proposed resolution (March, 2009):

  1. Change [dcl.fct] paragraph 7 as follows:

  2. A cv-qualifier-seq shall only be part of the function type for a non-static member function, the function type to which a pointer to member refers, or the top-level function type of a function typedef declaration. [Note: A function type that has a cv-qualifier-seq is not a cv-qualified type; there are no cv-qualified function types. —end note] The effect of a cv-qualifier-seq in a function declarator...
  3. Change 6.8.4 [basic.type.qualifier] paragraph 3 as follows:

  4. ...See [dcl.fct] and _N4868_. [class.this] regarding cv-qualified function types that have cv-qualifiers.
Date: 2009-03-23.00:00:00

7.3.6 [conv.qual] paragraph 3 consists of a note reading,

[Note: Function types (including those used in pointer to member function types) are never cv-qualified ( [dcl.fct]). —end note]

However, [dcl.fct] paragraph 7 says,

A cv-qualifier-seq shall only be part of the function type...

This sounds like a contradiction, although formally it is not: a “function type with a cv-qualifier-seq” is not a “cv-qualified function type.” It would be helpful to make this distinction clearer.

Date User Action Args
2010-03-29 00:00:00adminsetstatus: dr -> cd2
2009-11-08 00:00:00adminsetmessages: + msg2454
2009-11-08 00:00:00adminsetstatus: ready -> dr
2009-08-03 00:00:00adminsetstatus: review -> ready
2009-03-23 00:00:00adminsetmessages: + msg1932
2009-03-23 00:00:00adminsetstatus: open -> review
2008-09-11 00:00:00admincreate