about summary refs log tree commit diff
path: root/tests/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed
blob: 00ca0c41654bf26e5cf1675288f0e3d6e0afc3a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//@ run-rustfix
#![allow(dead_code)]

#[derive(Clone)]
struct Wrapper<T>(T);

struct OnlyCopyIfDisplay<T>(std::marker::PhantomData<T>);

impl<T: std::fmt::Display> Clone for OnlyCopyIfDisplay<T> {
    fn clone(&self) -> Self {
        OnlyCopyIfDisplay(std::marker::PhantomData)
    }
}

impl<T: std::fmt::Display> Copy for OnlyCopyIfDisplay<T> {}

impl<S: std::fmt::Display> Copy for Wrapper<OnlyCopyIfDisplay<S>> {}
//~^ ERROR the trait `Copy` cannot be implemented for this type

fn main() {}