Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[libc++] Remove allocator support from std::function #140395

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
Loading
from

Conversation

philnik777
Copy link
Contributor

@philnik777 philnik777 commented May 17, 2025

The allocator support was removed as a DR, since it was impossible to implement. We're currently providing the API for this, but ignore the allocator in all cases but one (which is almost certainly an oversight). IMO we should remove the API entirely at a later date, but this only removes most of the code for now, leaving only the public functions. This not only simplifies the code quite a bit, but also results in the constructor being instantiated ~8x faster.

Fixes #133901

@philnik777 philnik777 force-pushed the simplify_function branch from a4155fb to 2a90248 Compare May 17, 2025 20:29
@philnik777 philnik777 force-pushed the simplify_function branch 2 times, most recently from 70e56d6 to 099ce41 Compare May 31, 2025 10:16
@philnik777 philnik777 force-pushed the simplify_function branch from 099ce41 to db6ba63 Compare June 1, 2025 10:11
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.

[libc++] Excessive memory consumption by std::function at compile time (vs libstdc++)
1 participant
Morty Proxy This is a proxified and sanitized view of the page, visit original site.