diff options
Diffstat (limited to 'src/test/ui/issues/issue-55731.rs')
-rw-r--r-- | src/test/ui/issues/issue-55731.rs | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/test/ui/issues/issue-55731.rs b/src/test/ui/issues/issue-55731.rs deleted file mode 100644 index 7b4f4e2cd..000000000 --- a/src/test/ui/issues/issue-55731.rs +++ /dev/null @@ -1,52 +0,0 @@ -use std::marker::PhantomData; - -trait DistributedIterator { - fn reduce(self) - where - Self: Sized, - { - unreachable!() - } -} - -trait DistributedIteratorMulti<Source> { - type Item; -} - -struct Connect<I>(PhantomData<fn(I)>); -impl<I: for<'a> DistributedIteratorMulti<&'a ()>> DistributedIterator for Connect<I> where {} - -struct Cloned<Source>(PhantomData<fn(Source)>); -impl<'a, Source> DistributedIteratorMulti<&'a Source> for Cloned<&'a Source> { - type Item = (); -} - -struct Map<I, F> { - i: I, - f: F, -} -impl<I: DistributedIteratorMulti<Source>, F, Source> DistributedIteratorMulti<Source> for Map<I, F> -where - F: A<<I as DistributedIteratorMulti<Source>>::Item>, -{ - type Item = (); -} - -trait A<B> {} - -struct X; -impl A<()> for X {} - -fn multi<I>(_reducer: I) -where - I: for<'a> DistributedIteratorMulti<&'a ()>, -{ - DistributedIterator::reduce(Connect::<I>(PhantomData)) -} - -fn main() { - multi(Map { //~ ERROR implementation of `DistributedIteratorMulti` is not general enough - i: Cloned(PhantomData), - f: X, - }); -} |