Skip to content

Commit 6b8c6f5

Browse files
committed
Add a test for #2859
1 parent 2f03180 commit 6b8c6f5

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed

tests/source/type.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,47 @@ impl CombineTypes {
3838
self.query_callbacks()(&query_id)
3939
}
4040
}
41+
42+
// #2859
43+
pub fn do_something<'a, T: Trait1 + Trait2 + 'a>(&fooo: u32) -> impl Future<
44+
Item = (
45+
impl Future<Item = (
46+
), Error = SomeError> + 'a,
47+
impl Future<Item = (), Error = SomeError> + 'a,
48+
impl Future<Item = (), Error = SomeError > + 'a,
49+
),
50+
Error = SomeError,
51+
>
52+
+
53+
'a {
54+
}
55+
56+
pub fn do_something<'a, T: Trait1 + Trait2 + 'a>( &fooo: u32,
57+
) -> impl Future<
58+
Item = (
59+
impl Future<Item = (), Error = SomeError> + 'a,
60+
impl Future<Item = (), Error = SomeError> + 'a,
61+
impl Future<Item = (), Error = SomeError> + 'a,
62+
),
63+
Error = SomeError,
64+
>
65+
+ Future<
66+
Item = (
67+
impl Future<Item = (), Error = SomeError> + 'a,
68+
impl Future<Item = (), Error = SomeError> + 'a,
69+
impl Future<Item = (), Error = SomeError> + 'a,
70+
),
71+
Error = SomeError,
72+
>
73+
+ Future<
74+
Item = (
75+
impl Future<Item = (), Error = SomeError> + 'a,
76+
impl Future<Item = (), Error = SomeError> + 'a,
77+
impl Future<Item = (), Error = SomeError> + 'a,
78+
),
79+
Error = SomeError,
80+
>
81+
+
82+
'a + 'b +
83+
'c {
84+
}

tests/target/type.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,42 @@ impl CombineTypes {
4242
self.query_callbacks()(&query_id)
4343
}
4444
}
45+
46+
// #2859
47+
pub fn do_something<'a, T: Trait1 + Trait2 + 'a>(
48+
&fooo: u32,
49+
) -> impl Future<
50+
Item = (
51+
impl Future<Item = (), Error = SomeError> + 'a,
52+
impl Future<Item = (), Error = SomeError> + 'a,
53+
impl Future<Item = (), Error = SomeError> + 'a,
54+
),
55+
Error = SomeError,
56+
> + 'a {
57+
}
58+
59+
pub fn do_something<'a, T: Trait1 + Trait2 + 'a>(
60+
&fooo: u32,
61+
) -> impl Future<
62+
Item = (
63+
impl Future<Item = (), Error = SomeError> + 'a,
64+
impl Future<Item = (), Error = SomeError> + 'a,
65+
impl Future<Item = (), Error = SomeError> + 'a,
66+
),
67+
Error = SomeError,
68+
> + Future<
69+
Item = (
70+
impl Future<Item = (), Error = SomeError> + 'a,
71+
impl Future<Item = (), Error = SomeError> + 'a,
72+
impl Future<Item = (), Error = SomeError> + 'a,
73+
),
74+
Error = SomeError,
75+
> + Future<
76+
Item = (
77+
impl Future<Item = (), Error = SomeError> + 'a,
78+
impl Future<Item = (), Error = SomeError> + 'a,
79+
impl Future<Item = (), Error = SomeError> + 'a,
80+
),
81+
Error = SomeError,
82+
> + 'a + 'b + 'c {
83+
}

0 commit comments

Comments
 (0)