Currently, Clementine is qualified as a library, by Rust directives (have a lib.rs and not a main.rs). But structurally, it is a binary. If it is expected other binaries to depend code on this library, then it is fine. But if it's not, there is a problem for developers: Because every module is declared as public and Rust allows unused functions in libraries, codebase has uncatched unused functions. Maybe other linting hints are also hidden.
If it is not wanted Clementine to be a library, lib.rs should be removed and main.rs should be created. Helper binaries can still be present in bin/ directory.
Proposal Description
Currently, Clementine is qualified as a library, by Rust directives (have a
lib.rs
and not amain.rs
). But structurally, it is a binary. If it is expected other binaries to depend code on this library, then it is fine. But if it's not, there is a problem for developers: Because every module is declared as public and Rust allows unused functions in libraries, codebase has uncatched unused functions. Maybe other linting hints are also hidden.If it is not wanted Clementine to be a library,
lib.rs
should be removed andmain.rs
should be created. Helper binaries can still be present inbin/
directory.