Skip to content

[concepts.callable.general] Replace "function objects" with "callable types"#8255

Merged
tkoeppe merged 1 commit into
cplusplus:mainfrom
eisenwave:patch-52
Oct 31, 2025
Merged

[concepts.callable.general] Replace "function objects" with "callable types"#8255
tkoeppe merged 1 commit into
cplusplus:mainfrom
eisenwave:patch-52

Conversation

@eisenwave

Copy link
Copy Markdown
Member

Fixes #8241.

The introductory paragraph is misleading: we claim that the subsequent concepts are for function objects, but the very next concept is invocable, which also accepts member function pointers and data member pointers, which are callable types but not function objects.

This seems like an editorial issue, since it's just about some intro fluff, nothing of normative consequence.

@tkoeppe tkoeppe merged commit 54d9b47 into cplusplus:main Oct 31, 2025
2 checks passed
@morinmorin

Copy link
Copy Markdown
Contributor

Would "callable types, function types, and references to such types" be more accurate?

@eisenwave

Copy link
Copy Markdown
Member Author

I guess yeah. I'm pretty sure it's possible to put function references into std::invocable, but those are not defined to be "function objects".

That's a problem that also affects the contents of the subclause though, not just the intro paragraph.

@morinmorin

Copy link
Copy Markdown
Contributor

Got it, thanks for the comment! I'll create a small follow-up PR soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[concepts.callable.general, concept.invocable] "function objects" and "callable type" are too restrictive

3 participants