]>
Commit | Line | Data |
---|---|---|
abe05a73 | 1 | use std::marker::PhantomData; |
85aaf69f | 2 | |
abe05a73 | 3 | pub trait External {} |
223e47cc | 4 | |
abe05a73 XL |
5 | pub struct M<'a, 'b, 'c, T, U, V> { |
6 | a: PhantomData<&'a ()>, | |
7 | b: PhantomData<&'b ()>, | |
8 | c: PhantomData<&'c ()>, | |
9 | d: PhantomData<T>, | |
10 | e: PhantomData<U>, | |
11 | f: PhantomData<V>, | |
ea8adc8c | 12 | } |
abe05a73 XL |
13 | |
14 | impl<'a, 'b, 'c, T, U, V, W> External for (T, M<'a, 'b, 'c, Box<U>, V, W>) | |
15 | where | |
16 | 'b: 'a, | |
17 | T: 'a, | |
18 | U: (FnOnce(T) -> V) + 'static, | |
19 | V: Iterator<Item=T> + Clone, | |
20 | W: std::ops::Add, | |
21 | W::Output: Copy, | |
22 | {} |