Skip to content

[utility.arg.requirements]/2 is useless and technically incorrect #8983

Description

@cpplearner

[utility.arg.requirements]/2:

In general, a default constructor is not required. Certain container class member function signatures specify T() as a default argument. T() shall be a well-defined expression ([dcl.init]) if one of those signatures is called using the default argument.

This is restating the obvious, and does so incorrectly: the signature (as defined in [intro.defs]) does not include the default arguments, and, assuming that T means the container's element type, containers no longer have T() as a default argument.

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