Boost logo

Boost :

Subject: Re: [boost] Road to low-quality-code is paved with good intentions of dropping dependencies
From: Peter Dimov (lists_at_[hidden])
Date: 2015-01-07 10:19:36


Daniel James wrote:
> FWIW I'm fine with moving hash_fwd.hpp into core, or somewhere else.
> Its intent was always to break the dependency on the rest of the hash
> implementation, and if the dependency system can't understand that, then
> it isn't doing its job.

Creating a dependency system that will live up to everyone's expectations is
not as easy as it sounds. To take hash_fwd as an example, suppose X uses
hash_fwd.hpp, and Hash uses Y. The user installs X, which has to install
Hash to get hash_fwd.hpp. Since the package Hash is now installed, it is
listed in index.html, the users sees it as available, and tries to make use
of it. If Y was not installed along with it, use of Hash would fail, and
this isn't user friendly.

You can get this behavior today, if you move hash_fwd.hpp to a submodule
hash/fwd, but since the installer operates on packages, and hash/fwd is in
the 'hash' package, the problem I outlined above will manifest. (Even if we
ignore the fact that Hash is actually in the package 'functional', so things
are even more coarse-grained than that.)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk