Skip to content

[dcl.ref]/5 CWG 453: What is a valid object? function? #2304

Description

@languagelawyer

[dcl.ref]/5:

A reference shall be initialized to refer to a valid object or function.

Is it an object within its lifetime? Or an object containing a valid value? In a valid state?

[basic.life] says that binding a reference to a virtual base class to a glvalue denoting an object not within its lifetime results in UB. If assume that the list of UBs from using a glvalue denoting an object outside its lifetime is complete, then the conclusion that binding the glvalue to another kind of a reference does not result in UB will follow. And we should conclude that "valid" is not about the lifetime.

Also, according to the style guidelines, "shall" shall be used to put a requirement on a well-formed program. This rule is unlikely to be a diagnosable rule.

Activity

  1. jensmaurer commented on Sep 4, 2018

    @jensmaurer
    Member

    This is CWG 453.

  2. added
    cwgIssue must be reviewed by CWG.
    not-editorialIssue is not deemed editorial; the editorial issue is kept open for tracking.
    on Sep 4, 2018
  3. changed the title [-][dcl.ref]/5: what is a valid object? function?[/-] [+][dcl.ref]/5 CWG 453: What is a valid object? function?[/+] on Sep 4, 2018
  4. frederick-vs-ja commented on Jul 30, 2024

    @frederick-vs-ja
    Contributor

    CWG453 is recently resolved. #6906 (47469c0) should have closed this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cwgIssue must be reviewed by CWG.not-editorialIssue is not deemed editorial; the editorial issue is kept open for tracking.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions