std::function has been deprecated for a few releases now. Remove it with an option to opt-back-in with a note that this option will be removed in LLVM 16.
Details
- Reviewers
ldionne - Group Reviewers
Restricted Project - Commits
- rGc475e31a189c: [libc++] Remove std::function in C++03
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
I'm OK removing this extension with an opt-in knob depending on how bad the breakage is internally at Apple/Google.
To fix CI, we'll need to mark several tests with // UNSUPPORTED: c++03 now. While we're at it, let's please fix the typo in the commit title s/Remvoe/Remove; ditto for the commit message (s/with and/with an).
libcxx/docs/ReleaseNotes.rst | ||
---|---|---|
145 | There are a few typos here. How about this, instead?
|
Just to make sure everyone's on the same page, we use these large code bases as guinea pigs to gauge how much breakage is likely out there -- it's not that we try to cater to these two code bases more specifically. If other vendors have the capability to run builds on large scale code bases, it would be great as well. Internal ref for me: 95412837.
Adding libc++ vendors for awareness. @EricWF Would you be able to try this out on a large code base internally? I suspect that most people are not using this extension, but who knows.
libcxx/docs/ReleaseNotes.rst | ||
---|---|---|
145 | I like this reformulation. In particular, let's make sure to use LLVM 16, not libc++16 (which is not an official thing). | |
libcxx/include/__functional/function.h | ||
1242 |
- Address comments
libcxx/docs/ReleaseNotes.rst | ||
---|---|---|
145 | You say a few typos. Did I miss any, or was there just removed without the d? |
libcxx/docs/ReleaseNotes.rst | ||
---|---|---|
145 | I think there's one left. I'd reword "This option it" to "This option" (i.e. drop the word "it") to make this sentence read clearer IMO. |
LGTM. I did not see any failure at all (which is quite unusual!), so I suspect this will not impact a lot of users.
There are a few typos here. How about this, instead?