[package]
name = "my_package_name"
[dependencies]
# the list goes on
[lib]
name = "my_awesome_lib"
used_in_lib.rs
use my_awesome_lib::{SomeTrait};
// unresolved import `my_awesome_lib`
// use of undeclared crate or module `my_awesome_lib`
pub struct UsedInLib {
// ...
}
lib.rs
pub mod used_in_lib;
use dependency1;
use dependency2;
pub use used_in_lib::UsedInLib;
// no errors here
pub trait SomeTrait {
// ...
};
used_in_main.rs
use dependency3;
use my_awesome_lib::SomeTrait; // no error here
main.rs
mod used_in_main
use dependency4;
use dependency5;
use my_awesome_lib; // no error here
use my_awesome_lib::used_in_lib;
// unresolved import `my_awesome_lib::UsedInLib`
// no `used_in_lib` in the root
What am I missing here ? What should I do ? Make a lib directory ? Write a mod.rs file ?
I have searched the documentation but I lack a proper overview here.