cplusplus / cplusplus/draft

[expr.prim.id.unqual]/15 Could a variable be an object / reference?

Open Beginner friendly
#9,286 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TeX
Stars
221
Forks
813
Avg merge
16h 4m
Merged PRs (30d)
36

Description

The variable / object distinction becomes confusing in [expr.prim.id.unqual]/15

An implicitly movable entity is a variable with automatic storage duration that is either a non-volatile object or an rvalue reference to a non-volatile object type.

How can a variable BE an object or reference? Isn't it just

... a variable with automatic storage duration that iswhose declaration declares either a non-volatile object or an rvalue reference to a non-volatile object type.

See [basic.pre]/7

A variable is introduced by the declaration D of

  • a reference other than a non-static data member or
  • an object,

where D is not the parameter-declaration of a template-parameter.

It's unclear whether the variable introduced by D is a reference or object, respectively, or these terms are distinct, associated with the same D only.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing [expr.prim.id.unqual]/15 with the variable definition in [basic.pre]/7 and the linked wording. Determine whether the terms describe the entity introduced by the declaration or the declaration itself, then revise the sentence for consistent terminology. Done means the wording clearly distinguishes variables from the objects or references they introduce.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.