$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (jz.maddock_at_[hidden])
Date: 2022-05-13 17:19:16
> If they ever are.
>
> Modules can work for leaf libraries, but for libraries used as dependencies
> by other libraries, you'll encounter a situation where the same translation
> unit imports boost.lib or "boost/lib.hpp" in one place and then includes
> "boost/lib/something.hpp" in another, which is probably never going to
> work correctly.
>
> I suppose it might stand a chance if all the imports are done first, so that
> the include guard macros are defined. But I think that's not going to work
> in practice either.
>
> Basically, all Regex consumers also must respect the REGEX_AS_MODULE
> macro and switch to `import boost.regex`. Repeat per every library.
Modules don't expose macros, so there is no way to signal "this must be
used as a module", so you have to find every usage of library X and make
sure they are either all modules or all includes. Or at least that
anything included doesn't use import: the other way around is fine since
the include is hidden within the module.
John.