about summary refs log tree commit diff
path: root/tests/ui/lifetimes/tuple-struct-vs-struct-with-fields-borrowck-10902.rs
blob: 97c0d0bf554e40ce77bacad36296f26f7f3f428a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//! Regression test for https://github.com/rust-lang/rust/issues/10902

//@ check-pass
#![allow(dead_code)]

pub mod two_tuple {
    pub trait T { fn dummy(&self) { } }
    pub struct P<'a>(&'a (dyn T + 'a), &'a (dyn T + 'a));
    pub fn f<'a>(car: &'a dyn T, cdr: &'a dyn T) -> P<'a> {
        P(car, cdr)
    }
}

pub mod two_fields {
    pub trait T { fn dummy(&self) { } }
    pub struct P<'a> { car: &'a (dyn T + 'a), cdr: &'a (dyn T + 'a) }
    pub fn f<'a>(car: &'a dyn T, cdr: &'a dyn T) -> P<'a> {
        P{ car: car, cdr: cdr }
    }
}

fn main() {}