about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>2022-03-11 20:29:45 +0100
committerGitHub <noreply@github.com>2022-03-11 20:29:45 +0100
commitfedf70acb1e8a51c36a970bf20aa4e6febf815f9 (patch)
treedca024c85dac6655a620d931fd38ff7d58f54960 /src
parent86376e3aeae46f31ba14e82835ed27a063fb31e5 (diff)
parent3f2cb6eba1ce2dfdc4db3743f29363396942ce28 (diff)
downloadrust-fedf70acb1e8a51c36a970bf20aa4e6febf815f9.tar.gz
rust-fedf70acb1e8a51c36a970bf20aa4e6febf815f9.zip
Rollup merge of #94818 - yoshuawuyts:into-future-associated-type, r=joshtriplett
Rename `IntoFuture::Future` to `IntoFuture::IntoFuture`

Ref: https://github.com/rust-lang/rust/issues/67644#issuecomment-1051401459

This renames `IntoFuture::Future` to `IntoFuture::IntoFuture`. This adds the `Into*` prefix to the associated type, similar to the [`IntoIterator::IntoIter`](https://doc.rust-lang.org/std/iter/trait.IntoIterator.html#associatedtype.IntoIter) associated type. It's my mistake we didn't do so in the first place. This fixes that and brings the two closer together. Thanks!

### References
__`IntoIterator` trait def__
```rust
pub trait IntoIterator {
    type Item;
    type IntoIter: Iterator<Item = Self::Item>;
    fn into_iter(self) -> Self::IntoIter;
}
```
__`IntoFuture` trait def__
```rust
pub trait IntoFuture {
    type Output;
    type IntoFuture: Future<Output = Self::Output>; // Prior to this PR: `type Future:`
    fn into_future(self) -> Self::IntoFuture;
}
```

cc/ `@eholk` `@rust-lang/wg-async`
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/async-await/await-into-future.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/test/ui/async-await/await-into-future.rs b/src/test/ui/async-await/await-into-future.rs
index b74b1684440..6e1b155e181 100644
--- a/src/test/ui/async-await/await-into-future.rs
+++ b/src/test/ui/async-await/await-into-future.rs
@@ -10,9 +10,9 @@ struct AwaitMe;
 
 impl IntoFuture for AwaitMe {
     type Output = i32;
-    type Future = Pin<Box<dyn Future<Output = i32>>>;
+    type IntoFuture = Pin<Box<dyn Future<Output = i32>>>;
 
-    fn into_future(self) -> Self::Future {
+    fn into_future(self) -> Self::IntoFuture {
         Box::pin(me())
     }
 }