diff options
| author | Anthony Defranceschi <chaacygg@gmail.com> | 2018-03-08 23:18:45 +0100 |
|---|---|---|
| committer | Anthony Defranceschi <chaacygg@gmail.com> | 2018-03-15 19:27:02 +0100 |
| commit | 5e991e1b7ee3ddbd160203dec84bef10b45c1589 (patch) | |
| tree | 80b2132d5942744ee957a79eec10909a070ff5d0 /src/libstd/net/parser.rs | |
| parent | 1e1bfc715f8dfe36a38d8fae36fcbe92e7463a3f (diff) | |
| download | rust-5e991e1b7ee3ddbd160203dec84bef10b45c1589.tar.gz rust-5e991e1b7ee3ddbd160203dec84bef10b45c1589.zip | |
Improve `AddrParseError` documentation.
Add a potential cause to `AddrParseError` raising.
Diffstat (limited to 'src/libstd/net/parser.rs')
| -rw-r--r-- | src/libstd/net/parser.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libstd/net/parser.rs b/src/libstd/net/parser.rs index 261d44eebaa..ae5037cc44e 100644 --- a/src/libstd/net/parser.rs +++ b/src/libstd/net/parser.rs @@ -372,6 +372,25 @@ impl FromStr for SocketAddr { /// [`IpAddr`], [`Ipv4Addr`], [`Ipv6Addr`], [`SocketAddr`], [`SocketAddrV4`], and /// [`SocketAddrV6`]. /// +/// # Potential causes +/// +/// `AddrParseError` may be thrown because the provided string does not parse as the given type, +/// often because it includes information only handled by a different address type. +/// +/// ```should_panic +/// use std::net::IpAddr; +/// let _foo: IpAddr = "127.0.0.1:8080".parse().expect("Cannot handle the socket port"); +/// ``` +/// +/// [`IpAddr`] doesn't handle the port. Use [`SocketAddr`] instead. +/// +/// ``` +/// use std::net::SocketAddr; +/// +/// // No problem, the `panic!` message has disappeared. +/// let _foo: SocketAddr = "127.0.0.1:8080".parse().expect("unreachable panic"); +/// ``` +/// /// [`FromStr`]: ../../std/str/trait.FromStr.html /// [`IpAddr`]: ../../std/net/enum.IpAddr.html /// [`Ipv4Addr`]: ../../std/net/struct.Ipv4Addr.html |
