]> git.lizzy.rs Git - rust.git/blob - tests/ui/mir/issue-80949.rs
Rollup merge of #103236 - tspiteri:redoc-int-adc-sbb, r=m-ou-se
[rust.git] / tests / ui / mir / issue-80949.rs
1 // build-pass
2
3 trait Trait { type Item; }
4
5 impl<'a, X> Trait for &'a Vec<X> {
6     type Item = &'a X;
7 }
8
9 impl<X> Trait for Box<dyn Trait<Item = X>> {
10     type Item = X;
11 }
12
13 fn make_dyn_trait(_: &()) -> Box<dyn Trait<Item = &()>> {
14     todo!()
15 }
16
17 fn diff<'a, M, N, S>(_: N, _: S)
18 where
19     M: 'a,
20     N: Trait<Item = &'a M>,
21     S: Trait<Item = &'a M>,
22 {
23     todo!()
24 }
25
26 fn may_panic<X>(_: X) { }
27
28 fn main() {
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);
34 }