mirror of
https://github.com/async-rs/async-std.git
synced 2025-01-30 09:15:33 +00:00
Remove unnecessary types in extension_trait
.
The remaining type requires the square brackets (for now) because a `ty` cannot immediately precede a `$(tt)*`.
This commit is contained in:
parent
c10d2d3a6f
commit
6b3667d1a4
7 changed files with 53 additions and 54 deletions
|
@ -45,7 +45,7 @@ extension_trait! {
|
|||
/// ```
|
||||
#[cfg(feature = "unstable")]
|
||||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn delay(self, dur: Duration) -> impl Future<Output = Self::Output> [DelayFuture<Self>]
|
||||
fn delay(self, dur: Duration) -> [DelayFuture<Self>]
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
|
@ -70,8 +70,7 @@ extension_trait! {
|
|||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn flatten(
|
||||
self,
|
||||
) -> impl Future<Output = <Self::Output as IntoFuture>::Output>
|
||||
[FlattenFuture<Self, <Self::Output as IntoFuture>::Future>]
|
||||
) -> [FlattenFuture<Self, <Self::Output as IntoFuture>::Future>]
|
||||
where
|
||||
Self: Sized,
|
||||
<Self as Future>::Output: IntoFuture,
|
||||
|
@ -113,7 +112,7 @@ extension_trait! {
|
|||
fn race<F>(
|
||||
self,
|
||||
other: F,
|
||||
) -> impl Future<Output = <Self as std::future::Future>::Output> [Race<Self, F>]
|
||||
) -> [Race<Self, F>]
|
||||
where
|
||||
Self: std::future::Future + Sized,
|
||||
F: std::future::Future<Output = <Self as std::future::Future>::Output>,
|
||||
|
@ -159,7 +158,7 @@ extension_trait! {
|
|||
fn try_race<F, T, E>(
|
||||
self,
|
||||
other: F
|
||||
) -> impl Future<Output = <Self as std::future::Future>::Output> [TryRace<Self, F>]
|
||||
) -> [TryRace<Self, F>]
|
||||
where
|
||||
Self: std::future::Future<Output = Result<T, E>> + Sized,
|
||||
F: std::future::Future<Output = <Self as std::future::Future>::Output>,
|
||||
|
@ -196,7 +195,7 @@ extension_trait! {
|
|||
fn join<F>(
|
||||
self,
|
||||
other: F
|
||||
) -> impl Future<Output = (<Self as std::future::Future>::Output, <F as std::future::Future>::Output)> [Join<Self, F>]
|
||||
) -> [Join<Self, F>]
|
||||
where
|
||||
Self: std::future::Future + Sized,
|
||||
F: std::future::Future,
|
||||
|
@ -243,7 +242,7 @@ extension_trait! {
|
|||
fn try_join<F, A, B, E>(
|
||||
self,
|
||||
other: F
|
||||
) -> impl Future<Output = Result<(A, B), E>> [TryJoin<Self, F>]
|
||||
) -> [TryJoin<Self, F>]
|
||||
where
|
||||
Self: std::future::Future<Output = Result<A, E>> + Sized,
|
||||
F: std::future::Future<Output = Result<B, E>>,
|
||||
|
@ -279,7 +278,7 @@ extension_trait! {
|
|||
"#]
|
||||
#[cfg(any(all(feature = "default", feature = "unstable"), feature = "docs"))]
|
||||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn timeout(self, dur: Duration) -> impl Future<Output = Self::Output> [TimeoutFuture<Self>]
|
||||
fn timeout(self, dur: Duration) -> [TimeoutFuture<Self>]
|
||||
where Self: Sized
|
||||
{
|
||||
TimeoutFuture::new(self, dur)
|
||||
|
|
|
@ -78,7 +78,7 @@ extension_trait! {
|
|||
&'a mut self,
|
||||
byte: u8,
|
||||
buf: &'a mut Vec<u8>,
|
||||
) -> impl Future<Output = usize> [ReadUntilFuture<'a, Self>]
|
||||
) -> [ReadUntilFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -131,7 +131,7 @@ extension_trait! {
|
|||
fn read_line<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a mut String,
|
||||
) -> impl Future<Output = io::Result<usize>> [ReadLineFuture<'a, Self>]
|
||||
) -> [ReadLineFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
|
|
@ -64,7 +64,7 @@ extension_trait! {
|
|||
fn read<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a mut [u8],
|
||||
) -> impl Future<Output = io::Result<usize>> [ReadFuture<'a, Self>]
|
||||
) -> [ReadFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin
|
||||
{
|
||||
|
@ -86,7 +86,7 @@ extension_trait! {
|
|||
fn read_vectored<'a>(
|
||||
&'a mut self,
|
||||
bufs: &'a mut [IoSliceMut<'a>],
|
||||
) -> impl Future<Output = io::Result<usize>> [ReadVectoredFuture<'a, Self>]
|
||||
) -> [ReadVectoredFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -123,7 +123,7 @@ extension_trait! {
|
|||
fn read_to_end<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a mut Vec<u8>,
|
||||
) -> impl Future<Output = io::Result<usize>> [ReadToEndFuture<'a, Self>]
|
||||
) -> [ReadToEndFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -162,7 +162,7 @@ extension_trait! {
|
|||
fn read_to_string<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a mut String,
|
||||
) -> impl Future<Output = io::Result<usize>> [ReadToStringFuture<'a, Self>]
|
||||
) -> [ReadToStringFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -217,7 +217,7 @@ extension_trait! {
|
|||
fn read_exact<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a mut [u8],
|
||||
) -> impl Future<Output = io::Result<()>> [ReadExactFuture<'a, Self>]
|
||||
) -> [ReadExactFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
|
|
@ -40,7 +40,7 @@ extension_trait! {
|
|||
fn seek(
|
||||
&mut self,
|
||||
pos: SeekFrom,
|
||||
) -> impl Future<Output = io::Result<u64>> [SeekFuture<'_, Self>]
|
||||
) -> [SeekFuture<'_, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
|
|
@ -49,7 +49,7 @@ extension_trait! {
|
|||
fn write<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a [u8],
|
||||
) -> impl Future<Output = io::Result<usize>> [WriteFuture<'a, Self>]
|
||||
) -> [WriteFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -75,7 +75,7 @@ extension_trait! {
|
|||
# Ok(()) }) }
|
||||
```
|
||||
"#]
|
||||
fn flush(&mut self) -> impl Future<Output = io::Result<()>> [FlushFuture<'_, Self>]
|
||||
fn flush(&mut self) -> [FlushFuture<'_, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ extension_trait! {
|
|||
fn write_vectored<'a>(
|
||||
&'a mut self,
|
||||
bufs: &'a [IoSlice<'a>],
|
||||
) -> impl Future<Output = io::Result<usize>> [WriteVectoredFuture<'a, Self>]
|
||||
) -> [WriteVectoredFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -133,7 +133,7 @@ extension_trait! {
|
|||
fn write_all<'a>(
|
||||
&'a mut self,
|
||||
buf: &'a [u8],
|
||||
) -> impl Future<Output = io::Result<()>> [WriteAllFuture<'a, Self>]
|
||||
) -> [WriteAllFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -170,7 +170,7 @@ extension_trait! {
|
|||
fn write_fmt<'a>(
|
||||
&'a mut self,
|
||||
fmt: std::fmt::Arguments<'_>,
|
||||
) -> impl Future<Output = io::Result<()>> [WriteFmtFuture<'a, Self>]
|
||||
) -> [WriteFmtFuture<'a, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
|
|
@ -177,7 +177,7 @@ extension_trait! {
|
|||
# }) }
|
||||
```
|
||||
"#]
|
||||
fn next(&mut self) -> impl Future<Output = Option<Self::Item>> [NextFuture<'_, Self>]
|
||||
fn next(&mut self) -> [NextFuture<'_, Self>]
|
||||
where
|
||||
Self: Unpin,
|
||||
{
|
||||
|
@ -629,7 +629,7 @@ extension_trait! {
|
|||
"#]
|
||||
fn last(
|
||||
self,
|
||||
) -> impl Future<Output = Option<Self::Item>> [LastFuture<Self, Self::Item>]
|
||||
) -> [LastFuture<Self, Self::Item>]
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
|
@ -839,7 +839,7 @@ extension_trait! {
|
|||
fn min_by_key<B, F>(
|
||||
self,
|
||||
key_by: F,
|
||||
) -> impl Future<Output = Option<Self::Item>> [MinByKeyFuture<Self, Self::Item, F>]
|
||||
) -> [MinByKeyFuture<Self, Self::Item, F>]
|
||||
where
|
||||
Self: Sized,
|
||||
B: Ord,
|
||||
|
@ -875,7 +875,7 @@ extension_trait! {
|
|||
fn max_by_key<B, F>(
|
||||
self,
|
||||
key_by: F,
|
||||
) -> impl Future<Output = Option<Self::Item>> [MaxByKeyFuture<Self, Self::Item, F>]
|
||||
) -> [MaxByKeyFuture<Self, Self::Item, F>]
|
||||
where
|
||||
Self: Sized,
|
||||
B: Ord,
|
||||
|
@ -914,7 +914,7 @@ extension_trait! {
|
|||
fn min_by<F>(
|
||||
self,
|
||||
compare: F,
|
||||
) -> impl Future<Output = Option<Self::Item>> [MinByFuture<Self, F, Self::Item>]
|
||||
) -> [MinByFuture<Self, F, Self::Item>]
|
||||
where
|
||||
Self: Sized,
|
||||
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
|
||||
|
@ -947,7 +947,7 @@ extension_trait! {
|
|||
"#]
|
||||
fn max(
|
||||
self,
|
||||
) -> impl Future<Output = Option<Self::Item>> [MaxFuture<Self, Self::Item>]
|
||||
) -> [MaxFuture<Self, Self::Item>]
|
||||
where
|
||||
Self: Sized,
|
||||
Self::Item: Ord,
|
||||
|
@ -980,7 +980,7 @@ extension_trait! {
|
|||
"#]
|
||||
fn min(
|
||||
self,
|
||||
) -> impl Future<Output = Option<Self::Item>> [MinFuture<Self, Self::Item>]
|
||||
) -> [MinFuture<Self, Self::Item>]
|
||||
where
|
||||
Self: Sized,
|
||||
Self::Item: Ord,
|
||||
|
@ -1018,7 +1018,7 @@ extension_trait! {
|
|||
fn max_by<F>(
|
||||
self,
|
||||
compare: F,
|
||||
) -> impl Future<Output = Option<Self::Item>> [MaxByFuture<Self, F, Self::Item>]
|
||||
) -> [MaxByFuture<Self, F, Self::Item>]
|
||||
where
|
||||
Self: Sized,
|
||||
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
|
||||
|
@ -1082,7 +1082,7 @@ extension_trait! {
|
|||
fn nth(
|
||||
&mut self,
|
||||
n: usize,
|
||||
) -> impl Future<Output = Option<Self::Item>> [NthFuture<'_, Self>]
|
||||
) -> [NthFuture<'_, Self>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
{
|
||||
|
@ -1138,7 +1138,7 @@ extension_trait! {
|
|||
fn all<F>(
|
||||
&mut self,
|
||||
f: F,
|
||||
) -> impl Future<Output = bool> [AllFuture<'_, Self, F, Self::Item>]
|
||||
) -> [AllFuture<'_, Self, F, Self::Item>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
F: FnMut(Self::Item) -> bool,
|
||||
|
@ -1187,7 +1187,7 @@ extension_trait! {
|
|||
fn find<P>(
|
||||
&mut self,
|
||||
p: P,
|
||||
) -> impl Future<Output = Option<Self::Item>> [FindFuture<'_, Self, P>]
|
||||
) -> [FindFuture<'_, Self, P>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
P: FnMut(&Self::Item) -> bool,
|
||||
|
@ -1215,7 +1215,7 @@ extension_trait! {
|
|||
fn find_map<F, B>(
|
||||
&mut self,
|
||||
f: F,
|
||||
) -> impl Future<Output = Option<B>> [FindMapFuture<'_, Self, F>]
|
||||
) -> [FindMapFuture<'_, Self, F>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
F: FnMut(Self::Item) -> Option<B>,
|
||||
|
@ -1249,7 +1249,7 @@ extension_trait! {
|
|||
self,
|
||||
init: B,
|
||||
f: F,
|
||||
) -> impl Future<Output = B> [FoldFuture<Self, F, B>]
|
||||
) -> [FoldFuture<Self, F, B>]
|
||||
where
|
||||
Self: Sized,
|
||||
F: FnMut(B, Self::Item) -> B,
|
||||
|
@ -1286,7 +1286,7 @@ extension_trait! {
|
|||
fn partition<B, F>(
|
||||
self,
|
||||
f: F,
|
||||
) -> impl Future<Output = (B, B)> [PartitionFuture<Self, F, B>]
|
||||
) -> [PartitionFuture<Self, F, B>]
|
||||
where
|
||||
Self: Sized,
|
||||
F: FnMut(&Self::Item) -> bool,
|
||||
|
@ -1322,7 +1322,7 @@ extension_trait! {
|
|||
fn for_each<F>(
|
||||
self,
|
||||
f: F,
|
||||
) -> impl Future<Output = ()> [ForEachFuture<Self, F>]
|
||||
) -> [ForEachFuture<Self, F>]
|
||||
where
|
||||
Self: Sized,
|
||||
F: FnMut(Self::Item),
|
||||
|
@ -1378,7 +1378,7 @@ extension_trait! {
|
|||
fn any<F>(
|
||||
&mut self,
|
||||
f: F,
|
||||
) -> impl Future<Output = bool> [AnyFuture<'_, Self, F, Self::Item>]
|
||||
) -> [AnyFuture<'_, Self, F, Self::Item>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
F: FnMut(Self::Item) -> bool,
|
||||
|
@ -1614,7 +1614,7 @@ extension_trait! {
|
|||
&mut self,
|
||||
init: T,
|
||||
f: F,
|
||||
) -> impl Future<Output = Result<T, E>> [TryFoldFuture<'_, Self, F, T>]
|
||||
) -> [TryFoldFuture<'_, Self, F, T>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
F: FnMut(B, Self::Item) -> Result<T, E>,
|
||||
|
@ -1659,7 +1659,7 @@ extension_trait! {
|
|||
fn try_for_each<F, E>(
|
||||
&mut self,
|
||||
f: F,
|
||||
) -> impl Future<Output = E> [TryForEachFuture<'_, Self, F>]
|
||||
) -> [TryForEachFuture<'_, Self, F>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
F: FnMut(Self::Item) -> Result<(), E>,
|
||||
|
@ -1741,7 +1741,7 @@ extension_trait! {
|
|||
"#]
|
||||
#[cfg(feature = "unstable")]
|
||||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn unzip<A, B, FromA, FromB>(self) -> impl Future<Output = (FromA, FromB)> [UnzipFuture<Self, FromA, FromB>]
|
||||
fn unzip<A, B, FromA, FromB>(self) -> [UnzipFuture<Self, FromA, FromB>]
|
||||
where
|
||||
FromA: Default + Extend<A>,
|
||||
FromB: Default + Extend<B>,
|
||||
|
@ -1805,7 +1805,7 @@ extension_trait! {
|
|||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn collect<'a, B>(
|
||||
self,
|
||||
) -> impl Future<Output = B> [Pin<Box<dyn Future<Output = B> + 'a + Send>>]
|
||||
) -> [Pin<Box<dyn Future<Output = B> + 'a + Send>>]
|
||||
where
|
||||
Self: Sized + 'a + Send,
|
||||
B: FromStream<Self::Item>,
|
||||
|
@ -1879,7 +1879,7 @@ extension_trait! {
|
|||
fn partial_cmp<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = Option<Ordering>> [PartialCmpFuture<Self, S>]
|
||||
) -> [PartialCmpFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Stream,
|
||||
|
@ -1919,7 +1919,7 @@ extension_trait! {
|
|||
fn position<P>(
|
||||
&mut self,
|
||||
predicate: P,
|
||||
) -> impl Future<Output = Option<usize>> [PositionFuture<'_, Self, P>]
|
||||
) -> [PositionFuture<'_, Self, P>]
|
||||
where
|
||||
Self: Unpin + Sized,
|
||||
P: FnMut(Self::Item) -> bool,
|
||||
|
@ -1957,7 +1957,7 @@ extension_trait! {
|
|||
fn cmp<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = Ordering> [CmpFuture<Self, S>]
|
||||
) -> [CmpFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Stream,
|
||||
|
@ -1988,7 +1988,7 @@ extension_trait! {
|
|||
"#]
|
||||
#[cfg(feature = "unstable")]
|
||||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn count(self) -> impl Future<Output = usize> [CountFuture<Self>]
|
||||
fn count(self) -> [CountFuture<Self>]
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
|
@ -2023,7 +2023,7 @@ extension_trait! {
|
|||
fn ne<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = bool> [NeFuture<Self, S>]
|
||||
) -> [NeFuture<Self, S>]
|
||||
where
|
||||
Self: Sized,
|
||||
S: Sized + Stream,
|
||||
|
@ -2060,7 +2060,7 @@ extension_trait! {
|
|||
fn ge<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = bool> [GeFuture<Self, S>]
|
||||
) -> [GeFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Stream,
|
||||
|
@ -2097,7 +2097,7 @@ extension_trait! {
|
|||
fn eq<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = bool> [EqFuture<Self, S>]
|
||||
) -> [EqFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Sized + Stream,
|
||||
|
@ -2134,7 +2134,7 @@ extension_trait! {
|
|||
fn gt<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = bool> [GtFuture<Self, S>]
|
||||
) -> [GtFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Stream,
|
||||
|
@ -2171,7 +2171,7 @@ extension_trait! {
|
|||
fn le<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = bool> [LeFuture<Self, S>]
|
||||
) -> [LeFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Stream,
|
||||
|
@ -2208,7 +2208,7 @@ extension_trait! {
|
|||
fn lt<S>(
|
||||
self,
|
||||
other: S
|
||||
) -> impl Future<Output = bool> [LtFuture<Self, S>]
|
||||
) -> [LtFuture<Self, S>]
|
||||
where
|
||||
Self: Sized + Stream,
|
||||
S: Stream,
|
||||
|
@ -2252,7 +2252,7 @@ extension_trait! {
|
|||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn sum<'a, S>(
|
||||
self,
|
||||
) -> impl Future<Output = S> [Pin<Box<dyn Future<Output = S> + 'a>>]
|
||||
) -> [Pin<Box<dyn Future<Output = S> + 'a>>]
|
||||
where
|
||||
Self: Sized + Stream<Item = S> + 'a,
|
||||
S: Sum<Self::Item>,
|
||||
|
@ -2298,7 +2298,7 @@ extension_trait! {
|
|||
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
|
||||
fn product<'a, P>(
|
||||
self,
|
||||
) -> impl Future<Output = P> [Pin<Box<dyn Future<Output = P> + 'a>>]
|
||||
) -> [Pin<Box<dyn Future<Output = P> + 'a>>]
|
||||
where
|
||||
Self: Sized + Stream<Item = P> + 'a,
|
||||
P: Product,
|
||||
|
|
|
@ -271,7 +271,7 @@ macro_rules! extension_trait {
|
|||
};
|
||||
|
||||
// Parse the return type in an extension method.
|
||||
(@ext [-> impl Future<Output = $out:ty> [$f:ty] $($tail:tt)*] -> [$($accum:tt)*]) => {
|
||||
(@ext [-> [$f:ty] $($tail:tt)*] -> [$($accum:tt)*]) => {
|
||||
extension_trait!(@ext [$($tail)*] -> [$($accum)* -> $f]);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue