summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/inductive-overflow/supertrait.rs
blob: c7aa4d90f58355af989050b1a83151465cdefb4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Regression test for #29859, supertrait version. This example
// allowed arbitrary trait bounds to be synthesized.

trait Magic: Copy {}
impl<T: Magic> Magic for T {}

fn copy<T: Magic>(x: T) -> (T, T) { (x, x) }

#[derive(Debug)]
struct NoClone;

fn main() {
    let (a, b) = copy(NoClone); //~ ERROR E0275
    println!("{:?} {:?}", a, b);
}