Skip to content

[module.context] Instantiation context is inconsistently defined #3985

Open
@sdkrystian

Description

@sdkrystian

The definition of instantiation context is as follows:

The instantiation context is a set of points within the program that determines which names are visible to argument-dependent name lookup and which declarations are reachable in the context of a particular declaration or template instantiation.

(side note: I'm pretty sure "template instantiation" should be "specialization" here)

We further go on to state:

In any other case, the instantiation context at a point within the program comprises that point.

The last bullet here seems to be inconsistent with the rest of the definition; we defined instantiation context to be relative to a declaration (or specialization), but then we specify what it is in the context of a program point.

Also, instead of "during the instantiation of [...]" we should say "in the context of [...]" as the lookup would be performed within the specialization/implicit definition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    decision-requiredA decision of the editorial group (or the Project Editor) is required.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions