When a jbuild
files declares the availability of a library like bos
below, every library that bos
depends on, like astring
, is also available: it is not necessary to declare astring
explicitly. This is dangerous because if bos
decides to drop this dependency, code that depends on astring
won’t compile any longer.
Could Dune
warn about libraries that are used but are not declared explicitly?
(executable
((name main)
(public_name hello)
(libraries
(cmdliner bos))))