diff options
| author | Chayim Refael Friedman <chayimfr@gmail.com> | 2022-05-23 02:33:27 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-23 02:33:27 +0000 |
| commit | 369555c85a038d4cad396301822cf89627a7e5c6 (patch) | |
| tree | 78181a2c467bf4d8acd1757f259d2a34d7f5bd92 /library/std/src/net/tcp.rs | |
| parent | 07e7b4346c48fe6d5c3026207e2d04c9a9f00fb8 (diff) | |
| download | rust-369555c85a038d4cad396301822cf89627a7e5c6.tar.gz rust-369555c85a038d4cad396301822cf89627a7e5c6.zip | |
Implement `FusedIterator` for `std::net::[Into]Incoming`
They never return `None`, so they trivially fulfill the contract.
Diffstat (limited to 'library/std/src/net/tcp.rs')
| -rw-r--r-- | library/std/src/net/tcp.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/library/std/src/net/tcp.rs b/library/std/src/net/tcp.rs index 06300035633..2cbc9f22baf 100644 --- a/library/std/src/net/tcp.rs +++ b/library/std/src/net/tcp.rs @@ -7,6 +7,7 @@ use crate::io::prelude::*; use crate::fmt; use crate::io::{self, IoSlice, IoSliceMut}; +use crate::iter::FusedIterator; use crate::net::{Shutdown, SocketAddr, ToSocketAddrs}; use crate::sys_common::net as net_imp; use crate::sys_common::{AsInner, FromInner, IntoInner}; @@ -1009,6 +1010,9 @@ impl<'a> Iterator for Incoming<'a> { } } +#[stable(feature = "tcp_listener_incoming_fused_iterator", since = "1.63.0")] +impl FusedIterator for Incoming<'_> {} + #[unstable(feature = "tcplistener_into_incoming", issue = "88339")] impl Iterator for IntoIncoming { type Item = io::Result<TcpStream>; @@ -1017,6 +1021,9 @@ impl Iterator for IntoIncoming { } } +#[unstable(feature = "tcplistener_into_incoming", issue = "88339")] +impl FusedIterator for IntoIncoming {} + impl AsInner<net_imp::TcpListener> for TcpListener { fn as_inner(&self) -> &net_imp::TcpListener { &self.0 |
