`adder`
`cargo run -p adder`로 실행하며 라이브러리 크레이트를 조합한다.
최상위 `Cargo.toml`은 멤버를 묶고, `Cargo.lock`과 `target`은 하나로 모인다. 그러나 각 크레이트가 외부 패키지를 쓰려면 자기 manifest에 의존성을 적어야 한다.
`adder`, `add_one`, `add_two` 같은 멤버 경로를 한곳에 모은다.
작업공간 전체가 같은 외부 크레이트 버전으로 해석되도록 고정한다.
컴파일 산출물을 최상위 디렉터리에 모아 불필요한 재빌드를 줄인다.
`adder`가 `add_one`을 쓰려면 경로 의존성을 직접 선언해야 한다.
`add_one`만 선언했다면 `adder`에서는 `use rand;`가 실패한다.
전체 테스트와 특정 패키지 테스트를 필요에 따라 나누어 실행한다.
`cargo run -p adder`로 실행하며 라이브러리 크레이트를 조합한다.
`add_one` 함수와 테스트를 담고, 필요하면 `rand` 의존성을 가진다.
crates.io에 올릴 때는 작업공간 전체가 아니라 패키지 단위로 배포한다.