This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.

### 3136. [fund.ts.v3] LFTSv3 awkward wording in `propagate_const` requirements

Section: 3.2.2.2.1 [fund.ts.v3::propagate_const.class_type_requirements] Status: New Submitter: Thomas Köppe Opened: 2018-07-02 Last modified: 2020-09-06

Priority: 3

View all issues with New status.

Discussion:

Addresses: fund.ts.v3

In the LFTSv3 prospective-working-paper N4758, [propagate_const.class_type_requirements] uses a strange turn of phrase:

> "In this sub-clause, `t` denotes a non-`const` lvlaue of type `T`, `ct` is a `const T&` bound to `t`, […]"

The last bit is strange: "`ct` is a `const T&` bound to `t`" is not how we usually say things. The specification-variables usually denote values, and values can't be references. Perhaps we could just say, "`ct` is `as_const(t)`"?

[2018-07-20 Priority set to 3 after reflector discussion]

Proposed resolution:

This wording is relative to N4758.

1. Edit 3.2.2.2.1 [fund.ts.v3::propagate_const.class_type_requirements] as indicated:

   > -1- If `T` is class type then it shall satisfy the following requirements. In this sub-clause `t` denotes a non-`const` lvalue of type `T`, `ct` is a `const T&` bound to `t` `as_const(t)`, `element_type` denotes an object type.