#[derive(Clone)]
struct ThingThatDoesAThing;

trait DoesAThing {}

impl DoesAThing for ThingThatDoesAThing {}

fn clones_impl_ref_inline(thing: &impl DoesAThing) {
    //~^ HELP consider further restricting this bound
    drops_impl_owned(thing.clone()); //~ ERROR E0277
    //~^ NOTE copies the reference
    //~| NOTE the trait `DoesAThing` is not implemented for `&impl DoesAThing`
}

fn drops_impl_owned(_thing: impl DoesAThing) { }

fn main() {
    clones_impl_ref_inline(&ThingThatDoesAThing);
}
