3 trait Trait { type Item; }
5 impl<'a, X> Trait for &'a Vec<X> {
9 impl<X> Trait for Box<dyn Trait<Item = X>> {
13 fn make_dyn_trait(_: &()) -> Box<dyn Trait<Item = &()>> {
17 fn diff<'a, M, N, S>(_: N, _: S)
20 N: Trait<Item = &'a M>,
21 S: Trait<Item = &'a M>,
26 fn may_panic<X>(_: X) { }
29 let dyn_trait = make_dyn_trait(&());
30 let storage = vec![()];
31 let _x = may_panic(());
32 let storage_ref = &storage;
33 diff(dyn_trait, storage_ref);