//@ 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() {} |