]> git.lizzy.rs Git - rust.git/blob - tests/ui/regions/regions-infer-contravariance-due-to-ret.rs
internally change regions to be covariant
[rust.git] / tests / ui / regions / regions-infer-contravariance-due-to-ret.rs
1 // run-pass
2 #![allow(non_camel_case_types)]
3
4
5 struct boxed_int<'a> {
6     f: &'a isize,
7 }
8
9 fn max<'r>(bi: &'r boxed_int, f: &'r isize) -> isize {
10     if *bi.f > *f {*bi.f} else {*f}
11 }
12
13 fn with(bi: &boxed_int) -> isize {
14     let i = 22;
15     max(bi, &i)
16 }
17
18 pub fn main() {
19     let g = 21;
20     let foo = boxed_int { f: &g };
21     assert_eq!(with(&foo), 22);
22 }