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