WG21 2015-07-20 Telecon Minutes

ISO/IEC JTC1 SC22 WG21 N4557 - 2015-10-24
(Revises N4548 to

These corrections are shown in blue.)

Roger Orr, rogero@howzatt.demon.co.uk

Teleconference information:

  Date:     2015-07-20

  Time:     10:00am N.Am. Pacific Time

  Duration: 1 hour

1. Opening and introductions

Sutter called the meeting to order 10:05 Pacific Time.

1.1 Roll call of participants

In attendance were:

1.2 Adopt agenda

The agenda in N4546 was adopted by unanimous consent.

1.3 Approve minutes from previous meeting

Deferred to next face to face meeting.

1.4 Review action items from previous meeting

Deferred to next face to face meeting.

1.5 Review of project editor and liaison assignments

Deferred to next face to face meeting.

2. Concepts review

2.1 Continue review of Concepts PDTS comment resolutions

Miller explained that the changes since the last Core telecon are listed in the document changes.pdf attached to the wiki page for this telecon and that all of them except the last bullet are simply implementing the decisions reached during that call.

Miller requested clarification about a comment made during the previous discussion of NL 1: "tentatively, constraints are not part of the function signature"

Sutton explained that this was not referring to the general function signature; constraints have been part of that since Rapperswil and that was not changing in response to NL 1.

The discussion focussed on the final bullet, which resolved the issue Tong raised at the previous telecon.
The problem with the original formulation was that associated constraints of a template declaration would not be equivalent to the constraint-expression of a requires clause (as this would be comparing expressions and constraints).

Sutton explained that he resolved the problem by changing the model to introduce a constraint expression - this moves the whole wording over to use expressions and means the comparisons to determine equivalence are now well defined.
The bulk of the changes are in 14.10.2 but some smaller changes were needed in [dcl.spec.auto] and [dcl.fct] to use expressions instead of constraints.

Miller expressed satisfaction with the resolution and Tong agreed that the direction should resolve the issue.

Some time was allowed for a final review of the wording.

In response to a question Sutton then explained that the changes produce substitution in a consistent order because declaration matching requires normalisation and this enforces an order. Hence the substitution is SFINAE-friendly.

Miller asked if there were any other comments on the draft TS.

Tong asked about the macro date (in 1.5 [intro.features]) and Sutton said that, following the previous discussion, this would be updated editorially when the final TS is produced.

Sutter reminded the call that editorial issues can be corrected without waiting for a WG21 meeting; they can simply be emailed to the project editor.

Miller asked if there were any other concerns with the document as written.

Tong asked if there was interest in opening up discussion about deciding whether expressions were equivalent (originally raised on the Core reflector).

Sutter asked whether this issue makes the intention of the TS unclear.

Tong replied that the wording in the TS can be implemented, although he was not entirely sure what the effect would be. we will learn more once we have experience of multiple implementations. The issue is with partial ordering; it requires an expression equivalence outside of declaration matching that we don't do anywhere else.

Maurer raised the problem discussed in the previous telecon with the implicit conversion in [temp.constr.conv], where the complete context for the conversion is not defined.

Miller said that the 'normative' wording implies that it is defined if would succeed in the context in which it is evaluated.
He said we can re-evaluate this as an open issue against the TS if required.

Maurer was concerned that it is unclear which context should be used to evaluate access control in a conversion constraint. If the context of the concept definition is used, the concept might not be satisfied for a given function call situation, but the corresponding conversion might in fact be valid. This seems to be undesirable. If the context of the concept use is used, equivalent concepts do not actually yield consistent results when evaluated in different contexts, which also seems to be undesirable.

Miller reminded us that, as discussed during the previous telecon, we were going to open an issue list. Sutton agreed.

Merrill said the conversion would need to be in the same context otherwise we wouldn't care if they differed.

Tong thought it was possible to have a partial ordering situation where overloaded operator candidates have different access checking. He also recalled that the issue discussed last time wasn't so much the equivalence as that the core language and the library is_convertible trait might not agree.
We can handle this in the issues list.

Stroustrup felt this was wider in application than just concepts.

Maurer disagreed - he felt the library was at liberty to decide on a meaning for is_convertible for their own use.

Miller said that we did not look in detail at the wording in p2 of the same section during the previous telecon, and this adds another dimension.

Maurer stated that there were two separate things that needed doing (a) clarify the wording and (b) addressing the design issue.

Dos Reis said that we have already discussed this, and had agreed to open an issue to look at it later. We didn't need to get into fine details to get the intent of the TS across.

Tong felt that there is a new dimension -- the equivalence checking and giving different results in different contexts.

Miller stated that this does not mean we cannot publish a TS.

Sutter said this was an important issue to capture, and partly why we were producing a TS in the first place. He asked if it had already been captured in an issues list.

Sutton said that it can be -- but that we haven't as yet got an issues list.

Miller asked if the intent was still to use github issue tracking, Sutton confirmed that it was.

2.2 Determine TS publication readiness

Sutter had suggested two possible straw polls on the Wiki page, and that as it doesn't sound like we have any technical changes, just editorial ones, he suggested that the appropriate poll was the second one:
"Move to direct the Convener to transmit the approved updated Concepts TS working paper (attachment ts.pdf r2) for publication.".
He asked if there was any discussion before moving to a vote.

Tong asked about the quorum and voting rights.

Sutter explained that the J16 rules don't apply here, and the ISO rules are simply that everyone listed in the relevant ISO global directory has one vote each.
He confirmed that he already knew that most of the attendees were on this list.

Sutter: Any objection to unanimous consent?

There were no objections, so the poll was carried.

3. New business

3.1 Review of priorities and target dates

Deferred to next face to face meeting.

3.2 Review of current mailings

Deferred to next face to face meeting.

3.3 Any other business

Orr asked whether the Concurrency ballot should have reached the UK national body yet.

Voutilainen confirmed that the Finnish national body had seen the ballot. Orr would chase with the BSI.

4. Review

4.1 Review and approve resolutions and issues

Sutter confirmed the resolution was to prepare and send the TS to ISO for publication, together with the "record of response" document for National Body comments.

4.2 Review action items

The action items were summarised as:

5. Closing process

5.1 Establish next agenda

Deferred to face-to-face meeting.

5.2 Future meetings

Sutter reminded the meeting that the next face-to-face meeting is in Kona, HI, USA from 19th - 24th Oct 2015.
There would be the usual administrative telecon two weeks before this.
Miller confirmed that Core will hold two further telecons prior to Kona for issue processing, dates TBD.

Voutilainen stated that Library would be having a telecon for Ranges and at least one further one for issue processing.

5.3 Future mailings

Deferred to face-to-face meeting.

5.4 Adjourn

Sutter adjourned the meeting.