Skip to content

[over.match] clarify whether [over.built] and surrogate candidates are functions #3878

Open
@zygoloid

Description

@zygoloid

We sometimes talk about "candidate functions", and sometimes merely about "candidates" which may or may not be functions (eg, in the definition of "viable candidate"). We should be consistent.

Either we should describe (at least) [over.built] as introducing non-function candidates or we should change the places that say "if overload resolution selects a function [...]" to say what happens if it selects a "function" from [over.built].

Similar questions apply for surrogate candidates, where there are two "functions" in scope: the real operator T function and the invented surrogate call function. We should decide whether we consider the latter to be a function or not.

Similar questions apply for rewritten candidates. Are those candidate functions or not?

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