2871. User specializations of type traits should be ill-formed

Section: 21.3.3 [meta.type.synop] Status: NAD Submitter: United States Opened: 2017-02-03 Last modified: 2020-09-06

Priority: Not Prioritized

View other active issues in [meta.type.synop].

View all other issues in [meta.type.synop].

View all issues with NAD status.

Discussion:

Addresses US 10

A user specialization of any type trait should produce an ill-formed program, not merely one whose behavior is unspecified. See also the related comment re 26.3.6.2 [execpol.type].

Proposed change:

Reword the paragraph as follows:

Unless otherwise specified, a program that adds specializations for any of the templates defined in this subclause is ill-formed; no diagnostic required.

See also 2909

[2017-07 Toronto Thurs Issue Prioritization]

NAD; what the standard says is that this is "undefined", not "unspecified".

Proposed resolution:

This wording is relative to N4618.

  1. Modify 21.3.3 [meta.type.synop] as indicated:

    -1- The behavior of a program that adds specializations for any of the templates defined in this subclause is undefined unless otherwise specifiedUnless otherwise specified, a program that adds specializations for any of the templates defined in this subclause is ill-formed; no diagnostic required.