summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-55731.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-55731.rs')
-rw-r--r--src/test/ui/issues/issue-55731.rs52
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,
- });
-}