[dependencies] reqwest = { version = "0.11", features = ["json"] } tokio = { version = "1", features = ["full"] }
기능 플래그
Cargo.toml 파일 내 종속성에 Tokio를 추가할 때는 기능 플래그(feature flag)를 추가해야 한다. 기능 플래그를 사용하면 개발자가 크레이트의 하위 집합만 포함할 수 있으므로 프로젝트를 컴파일하는 시간을 절약하고 프로젝트 크기를 줄일 수 있다.
모든 크레이트가 기능 플래그를 지원하는 것은 아니지만, 몇몇은 지원한다. 크레이트를 포함해서 특정 기능을 사용하려는 경우, 컴파일러는 해당 기능이 Cargo.toml 파일에 포함되어 있지 않더라도 이를 알려주지 않기 때문에 주의해야 한다. 가장 안전한 방법은 크레이트의 모든 기능을 포함하고 개발을 완료한 후 특정 기능만 가져와 사용하여 코드의 양을 줄이는지 확인하는 것이다.
기능 플래그의 이름은 표준화되지 않았으며 기능 이름을 지정하는 것은 순전히 크레이트 소유자에게 달려 있다. Tokio를 쓰는 경우 full 기능 플래그를 사용한다는 의미이다.
tokio = { version = "1", features = ["full"] }