같은 --help도 -- 위치에 따라 설명 대상이 달라진다

구분자 앞은 Cargo가 읽고, 뒤는 Cargo가 만든 테스트 실행 파일에 전달된다.

cargo test--가 경계를 나눈다
--Cargo 자체 옵션 · cargo test --help
--테스트 바이너리 옵션 · cargo test -- --help

Cargo 영역

패키지 선택과 테스트 빌드에 관한 옵션을 해석한다.

--

전달 대상 전환

테스트 바이너리 영역

출력, 스레드 수, 무시된 테스트 같은 실행 방식을 해석한다.

cargo test --help

Cargo 옵션을 찾는다

구분자가 없으므로 --help를 Cargo가 직접 처리한다.

cargo test -- --help

실행 옵션을 찾는다

뒤쪽 --help가 테스트 바이너리로 전달된다.

모르는 옵션은 먼저 해석 주체를 정한 뒤, 그 주체의 도움말에서 찾아야 한다.