Ви також можете просто вставити бінарні джерела src/bin
та інші джерела src
. Приклад ви можете побачити в моєму проекті . Вам взагалі не потрібно змінювати свої Cargo.toml
файли, і кожен вихідний файл буде скомпільований у двійковий файл з тим самим іменем.
Конфігурація іншої відповіді потім замінюється на:
$ tree
.
├── Cargo.toml
└── src
├── bin
│ └── mybin.rs
└── lib.rs
Cargo.toml
[package]
name = "example"
version = "0.0.1"
authors = ["An Devloper <an.devloper@example.com>"]
src / lib.rs
use std::error::Error;
pub fn really_complicated_code(a: u8, b: u8) -> Result<u8, Box<Error>> {
Ok(a + b)
}
src / bin / mybin.rs
extern crate example; // Optional in Rust 2018
fn main() {
println!("I'm using the library: {:?}", example::really_complicated_code(1, 2));
}
І виконати:
$ cargo run --bin mybin
I'm using the library: Ok(3)
Крім того, ви можете просто створити файл, src/main.rs
який буде використовуватися як виконуваний файл за замовчуванням. На жаль, це суперечить cargo doc
команді:
Неможливо документувати пакет, у якому бібліотека та двійковий файл мають одне ім’я. Подумайте про перейменування одного або позначення цілі якdoc = false