about summary refs log tree commit diff
path: root/tests/ui/async-await/in-trait/async-example-desugared-manual.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2024-01-18 17:28:37 +0000
committerMichael Goulet <michael@errs.io>2024-02-05 21:08:48 +0000
commit1a3214b774f47b2fb8dadf305939f97e20993fe2 (patch)
tree0f7ecbcf26a9efe1a1d3090eb3970deccbd85457 /tests/ui/async-await/in-trait/async-example-desugared-manual.rs
parente65abc0ea58f2f7dd6812fafa92c4f5b2a28af7b (diff)
downloadrust-1a3214b774f47b2fb8dadf305939f97e20993fe2.tar.gz
rust-1a3214b774f47b2fb8dadf305939f97e20993fe2.zip
Make sure refinement still works
Diffstat (limited to 'tests/ui/async-await/in-trait/async-example-desugared-manual.rs')
-rw-r--r--tests/ui/async-await/in-trait/async-example-desugared-manual.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/ui/async-await/in-trait/async-example-desugared-manual.rs b/tests/ui/async-await/in-trait/async-example-desugared-manual.rs
index 75f4ba1d076..c6e8f1ae906 100644
--- a/tests/ui/async-await/in-trait/async-example-desugared-manual.rs
+++ b/tests/ui/async-await/in-trait/async-example-desugared-manual.rs
@@ -4,11 +4,12 @@
 use std::future::Future;
 use std::task::Poll;
 
-trait MyTrait {
+#[allow(async_fn_in_trait)]
+pub trait MyTrait {
     async fn foo(&self) -> i32;
 }
 
-struct MyFuture;
+pub struct MyFuture;
 impl Future for MyFuture {
     type Output = i32;
     fn poll(self: std::pin::Pin<&mut Self>, _: &mut std::task::Context<'_>) -> Poll<Self::Output> {
@@ -17,7 +18,9 @@ impl Future for MyFuture {
 }
 
 impl MyTrait for u32 {
+    #[warn(refining_impl_trait)]
     fn foo(&self) -> MyFuture {
+        //~^ WARN impl trait in impl method signature does not match trait method signature
         MyFuture
     }
 }