ฉันจะส่งคืนประเภทที่เชื่อมโยงจากคุณลักษณะที่ถูกจัดอันดับที่สูงกว่าได้อย่างไร
ฉันมีลักษณะที่มีฟังก์ชั่นสำหรับ deserializing ประเภทที่เกี่ยวข้อง อย่างไรก็ตามประเภทที่เกี่ยวข้องนั้นจำเป็นต้องมีอายุการใช้งานที่ผู้โทรตัดสินใจดังนั้นฉันจึงมีคุณลักษณะที่แยกต่างหากซึ่งฉันใช้คุณลักษณะที่มีอันดับสูงกว่าซึ่งผูกไว้กับ ฉันต้องใช้การปิดที่ส่งคืนประเภทที่เชื่อมโยงนี้ ฉันมีรหัสต่อไปนี้เพื่อทำ: #![allow(unreachable_code)] use std::marker::PhantomData; trait Endpoint: for<'a> EndpointBody<'a> {} trait EndpointBody<'a> { type Out: 'a; fn serialize(body: &Self::Out) -> Vec<u8>; fn deserialize(raw_body: &'a [u8]) -> Self::Out; } // ///////////////////////////////////////////////////////// /// Trait object compatible handler trait Handler { fn execute(&self, raw_body: &[u8]) -> Vec<u8>; } /// …