这是为了开发大型程序,分治crate用的。
目录结构如下:

一,根cargo.toml内容
1[workspace] 2 3members = [ 4 "adder", 5 "add-one", 6 7]
二,adder里的cargo.toml内容
1[package] 2name = "adder" 3version = "0.1.0" 4authors = ["test <test@qq.com>"] 5edition = "2018" 6 7# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 9[dependencies] 10add-one = { path = "../add-one" }
三,main.rs内容
1use add_one; 2 3fn main() { 4 let num = 10; 5 println!("Hello, world! {} plus one is {}!", num, add_one::add_one(num)); 6}
四,Lib.rs内容
1pub fn add_one(x: i32) -> i32 { 2 x + 1 3} 4 5#[cfg(test)] 6mod tests { 7 use super::*; 8 9 #[test] 10 fn it_works() { 11 assert_eq!(3, add_one(2)); 12 } 13}