microsoft / microsoft/STL

P0792R14 `function_ref`: A Type-Erased Callable Reference

Open
#3,788 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cxx26
Dominant language
C++
Stars
11.1k
Forks
1.7k
Avg merge
4d 15h
Merged PRs (30d)
22

Description

WG21-P0792R14 function_ref: A Type-Erased Callable Reference
WG21-P3774R1 Rename nontype_t To constant_arg_t
WG21-P3948R1 Use constant_wrapper In function_ref
WG21-P3961R1 Less Double Indirection In function_ref
LWG-4256 Incorrect constraints for function_ref constructors from nontype_t
LWG-4425 CTAD function_ref of data member pointer should produce noexcept signature

Feature-test macro:

#define __cpp_lib_function_ref 202604L

Note: We are not yet accepting PRs for C++26 features.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the listed WG21 and LWG papers to understand the proposed function_ref feature and its related wording changes. The issue names no source files or tests; completion would require an implementation matching those papers and exposing __cpp_lib_function_ref 202604L, but it notes that PRs are not yet being accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.