#![crate_name = "inner"]
pub trait MyTrait {
    type Y;
}

impl MyTrait for u32 {
    type Y = i32;
}

pub fn foo() -> <u32 as MyTrait>::Y {
    0
}