]> git.lizzy.rs Git - rust.git/blob - src/test/ui/traits/coercion-generic.rs
Auto merge of #100497 - kadiwa4:remove_clone_into_iter, r=cjgillot
[rust.git] / src / test / ui / traits / coercion-generic.rs
1 // run-pass
2 #![allow(dead_code)]
3 trait Trait<T> {
4     fn f(&self, x: T);
5 }
6
7 #[derive(Copy, Clone)]
8 struct Struct {
9     x: isize,
10     y: isize,
11 }
12
13 impl Trait<&'static str> for Struct {
14     fn f(&self, x: &'static str) {
15         println!("Hi, {}!", x);
16     }
17 }
18
19 pub fn main() {
20     let a = Struct { x: 1, y: 2 };
21     let b: Box<dyn Trait<&'static str>> = Box::new(a);
22     b.f("Mary");
23     let c: &dyn Trait<&'static str> = &a;
24     c.f("Joe");
25 }