2015-01-10 2 views
9

말, 옵션 기능이있는 종속성이있는 상자가 있습니다. 이제이 기능은 테스트에 주로 유용하지만 상자 자체는 전체 코드에 대한 종속성입니다. 화물에 테스트 용으로 만 기능을 사용하도록 지시 할 수 있습니까?종속성 기능을 테스트 용으로 만 사용하려면 어떻게해야합니까?

필자의 구체적인 예에서 옵션 기능은 quickcheck에 달려 있는데, 필자는 내 크레이트 사용자에게 필수 종속성을 만들고 싶지는 않습니다.

답변

7

일반 종속성과 마찬가지로 development dependency에 대해 use a feature을 입력 할 수 있습니다.

[dev-dependencies.quickcheck] 
version = "*" 
features = ["collect_impls"] 

N.B.을 : 당신이 당신의 Cargo.toml이를 추가 할 수 있도록 quickcheck의 경우, 유일한 기능은 collect_impls입니다 이것은 실제로 내부에서 잘못 수행되었습니다 quickcheck. I just fixed it in 0.1.29.

+0

내 경우에는 quickcheck 자체가 dev 종속성뿐 아니라 내 종속성의 종속성이기도합니다. 특히, 나는 [nalgebra의 유형에 대해 임의로 구현] (https://github.com/sebcrozet/nalgebra/pull/74). 그러나 필자가 제안한대로 기능에 의존하려고 할 때 컴파일러에서 선택적 impls를 볼 수 없습니다. 나는 아직도 뭔가를 여기에서 놓치고있는 것처럼 느낀다. – aepsil0n

+0

신경 쓰지 마라, 내 문제는 내가 석기 질식에있는 기생충을 nalgebra의 상자에 섞어 버리고 있다는 것이었다. 너무 미묘한 ... – aepsil0n

관련 문제