error[E0275]: overflow evaluating the requirement `NoClone: Magic` --> $DIR/supertrait.rs:13:18 | LL | let (a, b) = copy(NoClone); | ^^^^ | note: required because of the requirements on the impl of `Magic` for `NoClone` --> $DIR/supertrait.rs:5:16 | LL | impl Magic for T {} | ^^^^^ ^ note: required by a bound in `copy` --> $DIR/supertrait.rs:7:12 | LL | fn copy(x: T) -> (T, T) { (x, x) } | ^^^^^ required by this bound in `copy` error: aborting due to previous error For more information about this error, try `rustc --explain E0275`.