Skip to content

CWG3003 Naming a deducible template for class template argument deduction #2443

Description

@jensmaurer

The core language specification is clear that dependent names cannot designate templates subject to class template argument deduction, thus excluding the names of template template parameters.

However, https://wg21.link/range.utility.conv.to#4 relies on such a non-existing facility.

CWG3003 seeks to add a note to highlight the status quo of the core language specification.

LWG4381 asks for removal of that unimplementable feature.

If (L)EWG wishes to add a feature to the core language that makes https://wg21.link/range.utility.conv.to#4 valid (possibly limited to situations similar to the first example in CWG3003, excluding the second example), a paper would be needed.

Activity

  1. jfbastien commented on Sep 28, 2025

    @jfbastien
    Collaborator

    Discussed with chairs, LEWG will see first if they need it, and ask EWG for it if so.

  2. je4d commented on Nov 8, 2025

    @je4d
    Collaborator

    EWG discussed this in Kona on Friday afternoon along with the proposed fixes in #2467 and #2469, and took the following poll:

    CWG3003: EWG wants to keep ranges::to as currently specified, with the understanding that specification is incomplete for CTAD in template parameters, to be fixed later

    SF F N A SA
    20 11 1 0 0

    consensus.

  3. moved this to Ready for review in CWGon Mar 25, 2026
  4. jensmaurer commented on Mar 25, 2026

    @jensmaurer
    MemberAuthor

    CWG in Croydon: P3865R2 is ready for Saturday's straw polls. No action from LEWG needed.

  5. moved this from Ready for review to Approved for plenary vote in CWGon Mar 25, 2026
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

    C++26Targeted at C++26CWGCore

    Type

    No type

    Projects

    • Status
      Approved for plenary vote

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions