Wanneer u een eigenschap implementeert, moet ofwel de eigenschap of het type waarvoor u het implementeert, in hetzelfde krat worden gedefinieerd. In jouw voorbeeld is dat niet het geval:de eigenschap Responder
wordt gedefinieerd door nickel
, en Result
wordt gedefinieerd door mongodb
.
De gebruikelijke manier om dit te omzeilen, is door uw eigen type te definiëren, door het gewenste type in een tuple-structuur met een enkele component te wikkelen (het zogenaamde newtype-patroon ):
struct Result(mongodb::error::Result<Option<Document>>);
impl Responder for Result {
...