[libcxx-commits] [PATCH] D153216: [libc++][Modules] Add missing includes to public headers

Ian Anderson via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jun 30 15:40:23 PDT 2023


iana added a comment.

In D153216#4465685 <https://reviews.llvm.org/D153216#4465685>, @iana wrote:

> In D153216#4465444 <https://reviews.llvm.org/D153216#4465444>, @philnik wrote:
>
>> In D153216#4465367 <https://reviews.llvm.org/D153216#4465367>, @iana wrote:
>>
>>> In D153216#4464361 <https://reviews.llvm.org/D153216#4464361>, @philnik wrote:
>>>
>>>> I don't think we actually want all of these headers to be included in the top-level header. Looking at the changes, all of these are implementation-detail headers, which don't contain any public API, so there is no need for them to be included.
>>>
>>> I think we do need them though. Previously importing e.g. `std.type_traits` would give you all of the detail headers. Once those are put in their own top level modules, they only get included if the public header includes them.
>>
>> I don't see the problem. Users shouldn't ever refer to the stuff defined in these headers. If they do and splitting up the module breaks them, that's their problem, not ours.
>
> Alright, let me try without this one. I still worry about the behavior change, but maybe it won't be noticeable since most of these submodules don't export anything. And it would let me sidestep the bizarre problem this causes in CI...

Not doing this adds loads of failures to D144322 <https://reviews.llvm.org/D144322>, but let me try to add more exports to fix them.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D153216/new/

https://reviews.llvm.org/D153216



More information about the libcxx-commits mailing list