C++ Logo


Advanced search

Re: P2898R0: Importable Headers are Not Universally Implementable

From: Daniel Ruoso <daniel_at_[hidden]>
Date: Wed, 24 May 2023 10:07:15 -0400
Em qua., 24 de mai. de 2023 às 01:58, Boris Kolpackov
<boris_at_[hidden]> escreveu:
> This is a red herring, IMO.
> Firstly, there are plenty of "places where C++ is currently used"
> where C++11 (let alone C++20) is not implementable. Does that mean
> we should "walk back" to C++98?

I don't think that's a fair comparison. The scenario I'm describing is
of someone successfully adopting C++23, but not being able to use some
libraries because they depend on Importable Headers and those are not
usable for them.

> Secondly, C++20 header units are always implementable by the C++
> compiler directly (i.e., the "turn the compiler into a build system"
> approach). It may not be desirable or practical, but it is
> implementable anywhere, "where C++ is currently used".

That would actually prevent the optimizations in the build system Tom
was talking about, since now not only the dependency scanning depend
on the list of importable headers and the arguments to their
translation, but the translation itself would also depend on that.

So this would actually make things worse.


Received on 2023-05-24 14:07:30