Use a Cargo workspace to group multiple crates under a single root Cargo.toml for shared dependencies and unified builds. Create a root Cargo.toml with a [workspace] section and list your member crates in the members array.
[workspace]
members = [
"my-library",
"my-binary",
]
Ensure each member crate has its own Cargo.toml in its subdirectory and remove the version field from the root Cargo.toml if it exists.