about summary refs log tree commit diff
path: root/tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-04-16 13:26:03 +0000
committerbors <bors@rust-lang.org>2024-04-16 13:26:03 +0000
commit1dea922ea6e74f99a0e97de5cdb8174e4dea0444 (patch)
treeb74718d27845c12af9cff42865edb0d768e5a2b9 /tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs
parent4e1f5d90bca45207605a88e39b1f76abcdb85d2f (diff)
parentf11b21bdb77c8308c0fc81340b44b1881b665f97 (diff)
downloadrust-1dea922ea6e74f99a0e97de5cdb8174e4dea0444.tar.gz
rust-1dea922ea6e74f99a0e97de5cdb8174e4dea0444.zip
Auto merge of #124015 - GuillaumeGomez:rollup-s46ksxa, r=GuillaumeGomez
Rollup of 14 pull requests

Successful merges:

 - #120781 (Correct usage note on OpenOptions::append())
 - #121694 (sess: stabilize `-Zrelro-level` as `-Crelro-level`)
 - #122521 (doc(bootstrap): add top-level doc-comment to utils/tarball.rs)
 - #123491 (Fix ICE in `eval_body_using_ecx`)
 - #123574 (rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 6))
 - #123687 (Update ar_archive_writer to 0.2.0)
 - #123721 (Various visionOS fixes)
 - #123797 (Better graphviz output for SCCs and NLL constraints)
 - #123990 (Make `suggest_deref_closure_return` more idiomatic/easier to understand)
 - #123995 (Make `thir_tree` and `thir_flat` into hooks)
 - #123998 (Opaque types have no namespace)
 - #124001 (Fix docs for unstable_features lint.)
 - #124006 (Move size assertions for `mir::syntax` types into the same file)
 - #124011 (rustdoc: update the module-level docs of `rustdoc::clean`)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs')
-rw-r--r--tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs b/tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs
new file mode 100644
index 00000000000..ea10aee58e4
--- /dev/null
+++ b/tests/rustdoc/synthetic_auto/send-impl-conditional-60726.rs
@@ -0,0 +1,38 @@
+// https://github.com/rust-lang/rust/issues/60726
+#![crate_name="foo"]
+
+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 foo/struct.IntoIter.html
+// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl<T> !Send for IntoIter<T>"
+// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl<T> !Sync for IntoIter<T>"
+pub struct IntoIter<T>{
+    hello:DynTrait<FooInterface<T>>,
+}