C++ Logo

sg15

Advanced search

Re: P2898R0: Importable Headers are Not Universally Implementable

From: Ben Boeckel <ben.boeckel_at_[hidden]>
Date: Thu, 1 Jun 2023 12:27:35 -0400
On Tue, May 30, 2023 at 22:20:58 +0200, Mathias Stearn via SG15 wrote:
> * A very cool version of this that would be tricky for a build system to
> pull off completely would be to consider `inline` function bodies part of
> the interface only in optimizing builds. This would still get you perf in
> your release builds but also lightning fast incremental rebuilds in debug
> builds even if you change an inline function in a root module.

That is basically this feature request:

    https://github.com/ninja-build/ninja/issues/1459

Also note that in debug builds, the bodies matter in that `__LINE__`
(and typically therefore `assert`) is sensitive to at least the number
of `\n` bytes in them.

While the feature would be nice, all of the complexity for making "real"
progress is involved in computing the charactaristics in a reliable way
(sha256sum and family as such a tool is probably where the cost/benefit
starts to climb steeply if I had to guess).

--Ben

Received on 2023-06-01 16:27:37