about summary refs log tree commit diff
path: root/tests/rustdoc/issue-60726.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc/issue-60726.rs')
-rw-r--r--tests/rustdoc/issue-60726.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/rustdoc/issue-60726.rs b/tests/rustdoc/issue-60726.rs
new file mode 100644
index 00000000000..fbb0f82ae39
--- /dev/null
+++ b/tests/rustdoc/issue-60726.rs
@@ -0,0 +1,35 @@
+use std::marker::PhantomData;
+
+pub struct True;
+pub struct False;
+
+pub trait InterfaceType{
+    type Send;
+}
+
+
+pub struct FooInterface<T>(PhantomData<fn()->T>);
+
+impl<T> InterfaceType for FooInterface<T> {
+    type Send=False;
+}
+
+
+pub struct DynTrait<I>{
+    _interface:PhantomData<fn()->I>,
+    _unsync_unsend:PhantomData<::std::rc::Rc<()>>,
+}
+
+unsafe impl<I> Send for DynTrait<I>
+where
+    I:InterfaceType<Send=True>
+{}
+
+// @has issue_60726/struct.IntoIter.html
+// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl has-srclink"]//h3[@class="code-header"]' \
+// "impl<T> !Send for IntoIter<T>"
+// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl has-srclink"]//h3[@class="code-header"]' \
+// "impl<T> !Sync for IntoIter<T>"
+pub struct IntoIter<T>{
+    hello:DynTrait<FooInterface<T>>,
+}