[libcxx-commits] [PATCH] D132284: [libc++] Reduces the number of transitive includes.

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Aug 25 12:05:49 PDT 2022


Mordante added inline comments.


================
Comment at: libcxx/docs/DesignDocs/HeaderRemovalPolicy.rst:32-33
+that users will have to fix their missing includes in order to upgrade to a
+newer version of the Standard. Libc++ also reserves the right to remove
+transitive includes at any other time, however new language versions will be
+used as a convenient way to perform bulk removals of
----------------
philnik wrote:
> Would the plan still be to remove transitive includes at some point? If not the includes will probably end up in a huge mess.
I'm not sure. We surely need to remove them when it breaks us, like I did for `<chrono>`.
The big issue of removal is that may break the packagers who then need to fix it.
If it was only developers I would have less of an issue with the breakage.

We can still remove them without repercussions from C++23 and I want to look at some more TODO removals and use the granularized headers in more places. Some header include `concepts` or `type_traits` which can be minimized now.

I'm not sure whether we would get in a huge mess with the current header method.
Do you have any concrete concerns with this approach?





================
Comment at: libcxx/docs/DesignDocs/HeaderRemovalPolicy.rst:34
+transitive includes at any other time, however new language versions will be
+used as a convenient way to perform bulk removals of
+
----------------
mumbleskates wrote:
> philnik wrote:
> > I think you are missing something here.
> Sentence fragment terminates here
Seems I misapplied the suggested changes,thanks.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132284



More information about the libcxx-commits mailing list