#![feature(lang_items)] #[lang = "sized"] trait Sized {} pub struct A(T); pub trait B { type C; } // ------ // swap these two items impl B for i32 { type C = Weird; } pub struct Weird(A<(T,)>); // ------ trait Foo {} impl Foo for Weird {} fn main() {}