Commit Graph

328 Commits

Author SHA1 Message Date
Felix Rabe a65d535c5f Fix doc comment: use ? instead of .unwrap() 2018-07-17 14:18:58 +02:00
Josh Stone b539936845 Remove the deprecated std::net::{lookup_host,LookupHost}
These are unstable, and were deprecated by #47510, since Rust 1.25.  The
internal `sys` implementations are still kept to support the call in the
common `resolve_socket_addr`.
2018-05-03 16:24:21 -07:00
bors cb1f89864e Auto merge of #49418 - frewsxcv:frewsxcv-network-order, r=TimNN
Clarify network byte order conversions for integer / IP address conversions.

Opened primarily to address https://github.com/rust-lang/rust/issues/48819.

Also added a few other conversion docs/examples.
2018-04-01 10:09:58 +00:00
bors e5277c1457 Auto merge of #49357 - frewsxcv:frewsxcv-termination-doc-examples, r=GuillaumeGomez
Remove hidden `foo` functions from doc examples; use `Termination` trait.

Fixes https://github.com/rust-lang/rust/issues/49233.

Easier to review with the white-space ignoring `?w=1` feature: https://github.com/rust-lang/rust/pull/49357/files?w=1
2018-03-28 18:11:44 +00:00
Corey Farwell b89fb71441 Clarify network byte order conversions for integer / IP address conversions.
Opened primarily to address https://github.com/rust-lang/rust/issues/48819.
2018-03-28 13:17:12 +02:00
Corey Farwell e9dcec070d Remove hidden foo functions from doc examples; use Termination trait.
Fixes https://github.com/rust-lang/rust/issues/49233.
2018-03-28 13:15:05 +02:00
bors 188e693b39 Auto merge of #49101 - mark-i-m:stabilize_i128, r=nagisa
Stabilize 128-bit integers 🎉

cc #35118

EDIT: This should be merged only after the following have been merged:
- [x] https://github.com/rust-lang-nursery/compiler-builtins/pull/236
- [x] https://github.com/rust-lang/book/pull/1230
2018-03-26 18:41:38 +00:00
Mark Mansi a7f21f1c0a Fix a few more 2018-03-26 08:37:56 -05:00
Tim Neumann 571734fdd7 Rollup merge of #48932 - Phlosioneer:43601-document-opaque-size, r=KodrAus
Document when types have OS-dependent sizes

As per issue #43601, types that can change size depending on the
target operating system should say so in their documentation.

I used this template when adding doc comments:

```
The size of a(n) <name> struct may vary depending on the target
operating system, and may change between Rust releases.
```

For enums, I used "instance" instead of "struct".

I added documentation to these types:
```
- std::time::Instant						(contains sys::time::Instant)
- std::time::SystemTime						(contains sys::time::SystemTime)

- std::io::StdinRaw							(contains sys::stdio::Stdin)
- std::io::StdoutRaw						(contains sys::stdio::Stdout)
- std::io::Stderr							(contains sys::stdio::Stderr)

- std::net::addr::SocketAddrV4				(contains sys::net::netc::sockaddr_in)
- std::net::addr::SocketAddrV6				(contains sys::net::netc::sockaddr_in6)
- std::net::addr::SocketAddr				(contains std::net::addr::SocketAddrV4 and SocketAddrV6)
- std::net::ip::Ipv4Addr					(contains sys::net::netc::in_addr)
- std::net::ip::Ipv6Addr					(contains sys::net::netc::in6_addr)
- std::net::ip::IpAddr						(contains std::net::ip::Ipv4Addr and Ipv6Addr)
```

I also found that these types varied in size; however, I don't think they need documentation, as it's already fairly obvious that they change based on different OS's:

```
- std::fs::DirBuilder						(contains sys::fs::DirBuilder)
- std::fs::FileType							(contains sys::fs::FileType)
- std::fs::Permissions						(contains sys::fs::FilePermissions)
- std::fs::OpenOptions						(contains sys::fs::OpenOptions)
- std::fs::DirEntry							(contains sys::fs::DirEntry)
- std::fs::ReadDir							(contains sys::fs::ReadDir)
- std::fs::Metadata							(contains sys::fs::FileAttr)
- std::fs::File								(contains sys::fs::File)

- std::process::Child						(contains sys::process::Process)
- std::process::ChildStdin					(contains sys::process::AnonPipe)
- std::process::ChildStdout					(contains sys::process::AnonPipe)
- std::process::ChildStderr					(contains sys::process::AnonPipe)
- std::process::Command						(contains sys::process::Command)
- std::process::Stdio						(contains sys::process::Stdio)
- std::process::ExitStatus					(contains sys::process::ExitStatus)
- std::process::Output						(contains std::process::ExitStatus)

- std::sys_common::condvar::Condvar			(contains sys::condvar::Condvar)
- std::sys_common::mutex::Mutex				(contains sys::mutex::Mutex)
- std::sys_common::net::LookupHost			(contains sys::net::netc::addrinfo)
- std::sys_common::net::TcpStream			(contains sys::net::Socket)
- std::sys_common::net::TcpListener			(contains sys::net::Socket)
- std::sys_common::net::UdpSocket			(contains sys::net::Socket)
- std::sys_common::remutex::ReentrantMutex	(contains sys::mutex::ReentrantMutex)
- std::sys_common::rwlock::RWLock			(contains sys::rwlock::RWLock)
- std::sys_common::thread_local::Key		(contains sys::thread_local::Key)
```
Maybe we should just put a comment about the size of structs in the module-level docs for `fs`, `process`, and `sys_common`?

If anyone can think of other types that can change size, comment below. I'm also open to changing the wording.

closes #43601.
2018-03-26 15:14:54 +02:00
Phlosioneer efd04423c3 Add backticks 2018-03-24 23:41:34 -04:00
Phlosioneer 1af952cc49 Remove StdioRaw doc additions, add backticks 2018-03-20 07:31:22 -04:00
Anthony Defranceschi 5e991e1b7e Improve AddrParseError documentation.
Add a potential cause to `AddrParseError` raising.
2018-03-15 19:27:02 +01:00
Phlosioneer e63b1a0e36 Remove "and may change between Rust releases" 2018-03-11 17:17:18 -04:00
Phlosioneer 908328fca0 Document when types have OS-dependent sizes
As per issue #43601, types that can change size depending on the
target operating system should say so in their documentation.

I used this template when adding doc comments:

 The size of a(n) <name> struct may vary depending on the target
 operating system, and may change between Rust releases.

For enums, I used "instance" instead of "struct".
2018-03-11 07:53:19 -04:00
Manish Goregaokar 8bf026df5b Rollup merge of #48328 - frewsxcv:frewsxcv-clarify-error-zero-duration, r=sfackler
Fixes #47311.
r? @nrc
2018-03-02 22:01:20 -08:00
kennytm 1aa103511b Rollup merge of #48330 - frewsxcv:frewsxcv-tests-zero-duration, r=sfackler
Add tests ensuring zero-Duration timeouts result in errors; fix Redox issues.

Part of #48311
2018-02-25 22:47:56 +08:00
Corey Farwell 0700bd12d0 Clarify "It is an error to..." wording for zero-duration behaviors.
Documentation fix side of https://github.com/rust-lang/rust/issues/48311.
2018-02-24 08:56:36 -05:00
Corey Farwell d17d645ad7 Add tests ensuring zero-Duration timeouts result in errors.
Part of https://github.com/rust-lang/rust/issues/48311
2018-02-18 21:42:02 -05:00
Guillaume Gomez cc20de3993 Rollup merge of #48312 - frewsxcv:frewsxcv-section-headings, r=QuietMisdreavus
Unify 'Platform-specific behavior' documentation headings.

None
2018-02-18 13:21:03 +01:00
Corey Farwell 0a798bd952 Unify 'Platform-specific behavior' documentation headings. 2018-02-17 20:54:26 -05:00
Simon Sapin 399dcd1127 Add missing micro version number component in stability attributes. 2018-01-24 22:25:42 +01:00
Steven Fackler 908aa388f9 Deprecate std::net::lookup_host
We intended to do this quite a while ago but it snuck through.
2018-01-17 19:16:26 -08:00
Ed Schouten d9d97c9f09 Make tests build on CloudABI.
There are some tests that need to be disabled on CloudABI specifically,
due to the fact that the shims cannot be built in combination with
unix::ext or windows::ext. Also improve the scoping of some imports to
suppress compiler warnings.
2018-01-11 11:28:34 +01:00
varkor bd1cf04ca7 Reject superfluous :: in IPv6 addresses
Fixes #46263.
2017-12-11 23:02:14 +00:00
Matt Brubeck 3024c1434a Use Try syntax for Option in place of macros or match 2017-12-09 14:18:33 -08:00
Ariel Ben-Yehuda 7dbbbf6607 fix NetBSD 2017-11-26 16:12:43 +02:00
Alexey Orlenko 0789a1df65 Fix a typo in ToSocketAddrs documentation
Fix a typo in ToSocketAddrs documentation: s/ToSocketsAddr/ToSocketAddrs
2017-11-21 01:53:36 +02:00
Corey Farwell 04f27f01cb Improve docs for UdpSocket::set_nonblocking.
Closes https://github.com/rust-lang/rust/issues/44050.
2017-10-26 10:05:54 -04:00
Corey Farwell 6ed7927fa0 Rollup merge of #45419 - steveklabnik:fix-commonmark-renderings, r=QuietMisdreavus
Fix most rendering warnings from switching to CommonMark

There's one big one lift, I'm filing a bug for it soon.

r? @rust-lang/docs
2017-10-21 09:47:25 -04:00
Corey Farwell cf29743ea6 Rollup merge of #45227 - frewsxcv:frewsxcv-set-nonblocking, r=sfackler
Expand docs/examples for TCP `set_nonblocking` methods.

Part of https://github.com/rust-lang/rust/issues/44050.
2017-10-21 09:47:20 -04:00
Corey Farwell fe3ed20d8d Expand docs/examples for TCP set_nonblocking methods.
Part of https://github.com/rust-lang/rust/issues/44050.
2017-10-21 06:13:42 -04:00
steveklabnik f8f9005e57 Fix most rendering warnings from switching to CommonMark 2017-10-20 15:29:35 -04:00
Steven Fackler cab99a3f8c Fix TcpStream::connect_timeout on linux
Linux appears to set POLLOUT when a conection's refused, which is pretty
weird. Invert the check to look for an error explicitly. Also add an
explict test for this case.

Closes #45265.
2017-10-14 13:56:30 -07:00
bors bb4d149146 Auto merge of #44913 - leavehouse:patch-1, r=BurntSushi
Fix TcpStream::local_addr docs example code

The local address's port is not 8080 in this example, that's the remote peer address port. On my machine, the local address is different every time, so I've changed `assert_eq` to only test the IP address
2017-10-07 12:13:28 +00:00
leavehouse 6482ee7cde Fix imports in TcpStream::local_addr docs example
Add a missing import and remove unused imports
2017-09-28 21:49:00 -05:00
leavehouse 7f9e653a29 Fix TcpStream::local_addr example code
The local address's port is not 8080 in this example, that's the remote peer address port. On my machine, the local address is different every time, so I've changed `assert_eq` to only test the IP address
2017-09-28 20:09:31 -05:00
David Tolnay 874124b2c7 Backport libs stabilizations to 1.21 beta
This includes the following stabilizations:

- tcpstream_connect_timeout https://github.com/rust-lang/rust/pull/44563
- iterator_for_each https://github.com/rust-lang/rust/pull/44567
- ord_max_min https://github.com/rust-lang/rust/pull/44593
- compiler_fences https://github.com/rust-lang/rust/pull/44595
- needs_drop https://github.com/rust-lang/rust/pull/44639
- vec_splice https://github.com/rust-lang/rust/pull/44640
2017-09-24 22:27:39 -07:00
Tim Neumann 7aefb6c3ef Rollup merge of #44647 - tmerr:fix-44645, r=dtolnay
Ensure tcp test case passes when disconnected from network

net::tcp::tests::connect_timeout_unroutable fails when the network
is unreachable, like on a laptop disconnected from wifi. Check for
this error and allow the test to pass.

Closes #44645
2017-09-17 13:19:15 +02:00
Trevor Merrifield fcdd46e534 Ensure tcp test case passes when disconnected from network
net::tcp::tests::connect_timeout_unroutable fails when the network
is unreachable, like on a laptop disconnected from wifi. Check for
this error and allow the test to pass.

Closes #44645
2017-09-17 00:16:30 -04:00
Alex Crichton 256b8879cc Rollup merge of #44395 - jcdyer:ip-constructors, r=alexcrichton
Ipv4Addr and Ipv6Addr convenience constructors.

Introduce convenience constructors for common types.

This introduces the following constructors:

* Ipv6Addr::localhost()
* Ipv6Addr::unspecified()
* Ipv4Addr::localhost()
* Ipv4Addr::unspecified()

The recently added `From` implementations were nice for avoiding the fallibility of conversions from strings like `"127.0.0.1".parse().unwrap()`, and `"::1".parse().unwrap()`, but while the Ipv4 version is roughly comparable in verbosity, the Ipv6 version lacks zero-segment elision, which makes it significantly more awkward: `[0, 0, 0, 0, 0, 0, 0, 0].into()`.  While there isn't a clear way to introduce zero elision to type that can infallibly be converted into Ipv6 addresses, this PR resolves the problem for the two most commonly used addresses, which, incidentally, are the ones that suffer the most from the lack of zero-segment elision.

This change is dead simple, and introduces no backwards incompatibility.

See also, [this topic on the inernals board](https://internals.rust-lang.org/t/pre-rfc-convenience-ip-address-constructors/5878)
2017-09-16 17:09:37 -07:00
Corey Farwell 4af8acd6c1 Rollup merge of #44563 - budziq:stablilize_tcpstream_connect_timeout, r=alexcrichton
stabilize tcpstream_connect_timeout (closes #43079)
2017-09-14 22:32:50 -04:00
Corey Farwell eb45c0ac7f Rollup merge of #44388 - tbu-:pr_doc_udp_connect_multiple, r=frewsxcv
Clarify the behavior of UDP sockets wrt. multiple addresses in `connect`

CC @frewsxcv #22569 #44209
2017-09-14 22:32:36 -04:00
J. Cliff Dyer 9d5b0e1ff5 Add unstable attributes for Ipv?Addr constructors. 2017-09-14 21:30:36 -04:00
Michal Budzynski 199cb82597 stabilize tcpstream_connect_timeout (closes #43079) 2017-09-14 16:18:49 +02:00
Frank Rehberger 85a9d97884 rustdoc: extend UdpSocket API doc (#657)
rustdoc: type-fixes
2017-09-12 01:50:32 +02:00
J. Cliff Dyer 8b6122f8b8 Add feature gate to doctests. 2017-09-08 20:41:09 -04:00
J. Cliff Dyer ad170f2339 Close doc examples and trim whitespace. 2017-09-07 19:06:57 -04:00
J. Cliff Dyer c22db3db6d IP address convenience constructors 2017-09-07 14:08:58 -04:00
Tobias Bucher b4d0f61771 Clarify the behavior of UDP sockets wrt. multiple addresses in connect 2017-09-07 11:26:23 +02:00
Mark Simulacrum 3cd4ea3bfa Rollup merge of #44209 - frewsxcv:frewsxcv-addr-other-scenarios, r=alexcrichton
Expand docs of multi-address behavior of some UDP/TCP APIs.

Fixes https://github.com/rust-lang/rust/issues/22569.
2017-08-31 18:07:46 -06:00