// check-pass pub trait Backend { type DescriptorSetLayout; } pub struct Back; impl Backend for Back { type DescriptorSetLayout = u32; } pub struct HalSetLayouts { vertex_layout: ::DescriptorSetLayout, } impl HalSetLayouts { pub fn iter(self) -> DSL where Back: Backend, { self.vertex_layout } } fn main() {}