Skip to content

CWG3056 [expr.prim.req.type] Missing semicolon in grammar for type-requirement #751

Description

@dascandy

Full name of submitter (unless configured in github; will be published with the issue): Peter Bindels

Reference (section label): expr.prim.req.type

Link to reflector thread (if any): - (discussion on Mattermost exists in CWG channel)

Issue description: Both current CD and P2996 have the following grammar:

type-requirement :
typename nested-name-specifieropt type-name ;
typename splice-specifier
typename splice-specialization-specifier

Below that is the example

typename [:T::r1:]; // fails if T::r1 is not a reflection of a type
typename [:T::r2:]<int>; // fails if T::r2 is not a reflection of a template Z for which Z<int> is a type

The grammar does not allow for the semicolon at the end of the lines as indicated in the example.

Suggested resolution: Add ; at the end of the second and third line in type-requirement's grammar.

One of the authors of P2996 remarked on Mattermost: "Yeah, those should probably have semis."

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions