error[E0391]: cycle detected when processing `Foo` --> $DIR/no_inferrable_concrete_type.rs:6:1 | LL | existential type Foo: Copy; //~ cycle detected | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: ...which requires processing `bar`... --> $DIR/no_inferrable_concrete_type.rs:9:23 | LL | fn bar(x: Foo) -> Foo { x } | ^^^^^ = note: ...which again requires processing `Foo`, completing the cycle note: cycle used when collecting item types in top-level module --> $DIR/no_inferrable_concrete_type.rs:4:1 | LL | / #![feature(existential_type)] LL | | LL | | existential type Foo: Copy; //~ cycle detected LL | | ... | LL | | let _: Foo = std::mem::transmute(0u8); LL | | } | |_^ error: aborting due to previous error For more information about this error, try `rustc --explain E0391`.