This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine>
ClosedPublic

Authored by philnik on Dec 22 2022, 6:34 PM.

Details

Summary

<coroutine> seems to be new enough to not be a huge problem.

Diff Detail

Event Timeline

philnik created this revision.Dec 22 2022, 6:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 22 2022, 6:34 PM
Herald added a subscriber: ChuanqiXu. · View Herald Transcript
philnik requested review of this revision.Dec 22 2022, 6:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 22 2022, 6:34 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
philnik retitled this revision from [liubc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine> to [libc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine>.Dec 23 2022, 5:11 AM
Mordante accepted this revision.Dec 23 2022, 9:22 AM

LGTM after coroutines is fixed.

libcxx/test/libcxx/transitive_includes/cxx20.csv
186

I really prefer not the breaks existing language versions unless we need to. Even when this header is new, its predecessor in experimental has been around longer. So this might break more than just new users.

This revision is now accepted and ready to land.Dec 23 2022, 9:22 AM
philnik added inline comments.Dec 25 2022, 6:31 AM
libcxx/test/libcxx/transitive_includes/cxx20.csv
186

We also removed includes from <ranges> and <format> because they were still experimental. <coroutine> isn't experimental anymore, but I don't think a lot of people have started using it. We've got it for just two releases now. Also, if people switch over from the experimental version they have to touch the includes anyways.

philnik updated this revision to Diff 491040.Jan 20 2023, 11:14 PM
philnik marked an inline comment as done.

Don't remove includes in older versions

This revision was landed with ongoing or failed builds.Jan 21 2023, 6:09 AM
This revision was automatically updated to reflect the committed changes.