Commit graph

10989 commits

Author SHA1 Message Date
Nick Sweeting
9a50874dd4 tweak links 2017-03-30 21:54:10 -04:00
Thomas Jespersen
b376386228 Replace hardcoded forward slash with path::MAIN_SEPARATOR
Fixes #40149
2017-03-30 13:51:16 +02:00
raph
1be84cee75 Update process.rs 2017-03-30 09:55:44 +02:00
Camille TJHOA
b36cff5c4f Improve os::linux documentation (#29367) 2017-03-29 23:44:39 +02:00
raph
5a7e9ad64a Removing trailing spaces 2017-03-29 16:30:39 +02:00
raph
3ac27c3e54 adding /// 2017-03-29 16:19:23 +02:00
raph
022bae8a4a Add example to std::process::abort 2017-03-29 15:59:22 +02:00
Corey Farwell
baab5d81bd Rollup merge of #40866 - projektir:once_docs, r=estebank
Adding linking for Once docs #29377

Linking everything around `Once`, `ONCE_INIT`, and `OnceState`.
2017-03-29 08:57:07 -04:00
projektir
3207657d12 Adding linking for Once docs #29377 2017-03-29 00:21:55 -04:00
Corey Farwell
2c59e03de2 Rollup merge of #40838 - lukaramu:std-net-docs, r=GuillaumeGomez
Improve std::net docs

Fixes #29363

Summary:
* Added a _lot_ of missing links, both to other types/methods and to IETF RFCs, and changed occurences of just "RFC" to "IETF RFC"
* Expanded a bunch of top-level docs, specifically the module docs & the docs for `TcpListener`, `TcpStream`, `UdpSocket`, `IpAddr`, `Ipv4Addr`, `Ipv6Addr`, `SocketAddr`, `SocketAddrV4`, `SocketAddrV6`,
* Expanded method docs for `SocketAddrV6`, `AddrParseError`,
* Various edits for clarity, consistency, and accuracy

See the commit descriptions for more detail.

Things not done quite as laid out in the task list in #29363:
* `AddrParseError` still doesn't have examples, but I wasn't quite sure how to do them; other `FromStr` error types don't have any, either
* I didn't link to an IETF RFC in `IpAddr`, but in `Ipv4Addr` and `Ipv6Addr` and linked tho those from `IpAddr`; this seems more appropriate to me
* Similarly, I didn't really exand `SocketAddr`'s docs, but elaborated on `SocketAddrV4` and `SocketAddrV6`'s and linked to them from `SocketAddr`

Theres definitely still room for improvement, but this should be a good first effort 😄
2017-03-28 23:19:24 -04:00
Corey Farwell
88badb98c7 Rollup merge of #40783 - stepancheg:cursor-new-0, r=aturon
Document Cursor::new position is 0

... even if contained `Vec` is not empty. E. g. for

```
let v = vec![10u8, 20];
let mut c = io::Cursor::new(v);
c.write_all(b"aaaa").unwrap();
println!("{:?}", c.into_inner());
```

result is

```
[97, 97, 97, 97]
```

and not

```
[10, 20, 97, 97, 97, 97]
```
2017-03-28 23:19:23 -04:00
Nick Sweeting
cd2ec7eded add missing import 2017-03-28 13:27:46 -04:00
Alex Crichton
498da9fc39 Rollup merge of #40837 - alanstoate:ascii-docs, r=steveklabnik
change string references in asciiext
2017-03-27 15:56:25 -07:00
Nick Sweeting
4806f01d7c Fix tidy errors and simplify example 2017-03-27 16:34:13 -04:00
Alex Crichton
76cc08b45a Rollup merge of #40516 - alexcrichton:no-cache-handles, r=aturon
std: Don't cache stdio handles on Windows

This alters the stdio code on Windows to always call `GetStdHandle` whenever the
stdio read/write functions are called as this allows us to track changes to the
value over time (such as if a process calls `SetStdHandle` while it's running).

Closes #40490
2017-03-27 15:24:12 -05:00
Alex Crichton
e857e296c1 Rollup merge of #40317 - malbarbo:update-libc, r=alexcrichton
Update libc to 0.2.21

Update to include android aarch64 and x86 improvements.
2017-03-27 15:24:11 -05:00
lukaramu
b8cbc5d46a Addressed requested changes for PR #40838
* Fixed spelling ToSocketAddr -> ToSocketAddrs in module docs
  (which also fixes a link)
* Added missing "when" before "interacting" in module docs
* Changed SocketAddr's top-level docs to explicitly state what socket
  addresses consist of, making them more consistent with SocketAddrV4's
  and SocketAddrV6's docs
* Changed "in C" -> "in C's `netinet/in.h`"
* Changed wording in is_ipv4/is_ipv6 methods to ", `false` otherwise"
* Add missing closing ` ``` ` in Ipv6Addr's examples
* Removed "Errors" section in ToSocketAddrs' to_socket_addrs method as it
  was rather redundant
2017-03-27 16:38:17 +02:00
Alan Stoate
1579fbd8ca Fixed spelling mistakes 2017-03-27 07:46:43 +10:30
Jörg Thalheim
2cf686f2cd
Implement AsRawFd/IntoRawFd for RawFd
This is useful to build os abstraction like the nix crate does.
It allows to define functions, which accepts generic arguments
of data structures convertible to RawFd, including RawFd itself.
For example:

  fn write<FD: AsRawFd>(fd: FD, buf: &[u8]) -> Result<usize>

instead of:

  fn write(fd: RawFd, buf: &[u8]) -> Result<usize>
  write(foo.as_raw_fd(), buf);
2017-03-26 19:14:03 +02:00
lukaramu
c2601fd358 fix trailing whitespace 2017-03-26 18:06:22 +02:00
lukaramu
577677d55d Expanded std::net module docs
Part of #29363
2017-03-26 17:27:40 +02:00
lukaramu
597bcec379 Expanded top-level docs for std::net{TcpListener,TcpStream,UdpSocket}
Part of #29363
2017-03-26 17:06:39 +02:00
lukaramu
ad816f8174 Added links to std::net::Shutdown docs and made them more consistent
Part of #29363
2017-03-26 16:12:27 +02:00
lukaramu
1a9c8baed5 Added examples to std::net::{SocketAddr, SocketAddrV4, SocketAddrV6} docs 2017-03-26 15:43:25 +02:00
lukaramu
6f0c742b00 Expanded and added links to std::net::{SocketAddr,SocketAddrV4,SocketAddrV6} docs
Part of #29363
Changed summary sentences of SocketAddr and IpAddr for consistency
Linked to SocketAddrV4 and SocketAddrV6 from SocketAddr, moving explaination
there
Expanded top-level docs for SocketAddrV4 and SocketAddrV6, linking to some
relevant IETF RFCs, and linking back to SocketAddr
Changed some of the method summaries to third person as per RFC 1574; added
links to IETF RFCs where appropriate
2017-03-26 14:35:12 +02:00
lukaramu
be713fa4bf Removed link in std::net::ToSocketAddr's summary sentence
Relative links in trait methods don't resolve in e.g.
std/primitive.tuple.html
:(
2017-03-26 14:35:12 +02:00
lukaramu
347b70901c Expanded and added links to std::net::{IpAddr,Ipv4Addr,Ipv6Addr} docs
Part of #29363
Expanded top-level documentation & linked to relevant IETF RFCs.
Added a bunch of links (to true/false/Ipv4Addr/etc.) throughout the docs.
2017-03-26 14:35:12 +02:00
lukaramu
0d5baba70d Added links to std::net::AddrParseError's documentation
Additionally changed the summary sentence to be more consistent with most
of the other FromStr implementations' error types.
2017-03-26 14:35:12 +02:00
lukaramu
df5830a4ec Added links throughout std::net::ToSocketAddrs' documentation
Part of #29363

In the section about the default implementations of ToSocketAddrs,
I moved the bulletpoint of SocketAddrV4 & SocketAddrV6 to the one
stating that SocketAddr is constructed trivially, as this is what's
actually the case
2017-03-26 14:35:12 +02:00
lukaramu
0df7398558 std::net docs: changed occurences of "RFC" to say "IETF RFC"
part of #29363
2017-03-26 14:35:12 +02:00
lukaramu
76d08eda7d Update std::net:Incoming's docs to use standard iterator boilerplate
Part of #29363
2017-03-26 14:35:12 +02:00
lukaramu
169facfc28 added missing links in std::net TCP docs
part of #29363
2017-03-26 14:35:12 +02:00
aStoate
6e6dec0cab change string references in asciiext r? @steveklabnik 2017-03-26 22:26:03 +10:30
Michael Gattozzi
1d59c67942
Update ChildStderr docs to be clearer
Before the docs only had a line about where it was found and that it was
a handle to stderr. This commit changes it so that the summary second line is
removed and that it's a bit clearer about what can be done with it. Part of
\#29370
2017-03-25 17:19:36 -04:00
Michael Gattozzi
7ef1b39b25
Remove extra wait from Child docs 2017-03-25 16:16:50 -04:00
Marco A L Barbosa
24be89980e Avoid using libc::sigemptyset on Android 2017-03-25 17:15:26 -03:00
Corey Farwell
f43c336e74 Rollup merge of #40642 - frewsxcv:io-bufread-doc-examples, r=GuillaumeGomez
Rewrite `io::BufRead` doc examples to better demonstrate behaviors.

Prior to this commit, most of the `BufRead` examples used `StdinLock` to
demonstrate how certain `BufRead` methods worked. Using `StdinLock` is
not ideal since:

* Relying on run-time data means we can't show concrete examples of how
  these methods work up-front. The user is required to run them in order
  to see how they behave.
* If the user tries to run an example in the playpen, it won't work
  because the playpen doesn't support user input to stdin.
2017-03-25 09:30:28 -07:00
Marco A L Barbosa
b45c631382 Fix libc::bind call on aarch64-linux-android 2017-03-25 11:03:06 -03:00
Marco A L Barbosa
a7add43389 Fix c_char (u8 -> i8) definition for i686-linux-android 2017-03-25 11:03:06 -03:00
Michael Gattozzi
bde6336976
Update Child docs to not have a note section
In #29370 it's noted that for "the Note shouldn't be one, and should come before
the examples." This commit changes the positioning of the section and removes
wording that said take note in order for it to flow better with the surrounding
text and it's new position.
2017-03-24 23:29:23 -04:00
Corey Farwell
0566e13ed4 Rollup merge of #40794 - s3rvac:fix-formatting-in-command-envs-docs, r=steveklabnik
Fix formatting in the docs for std::process::Command::envs()

An empty line between the *Basic usage:* text and the example is required to properly format the code. Without the empty line, the example is not formatted as code.

[Here](https://doc.rust-lang.org/std/process/struct.Command.html#method.envs) you can see the current (improper) formatting.
2017-03-24 18:13:15 -05:00
Petr Zemek
432673a8dd Add a missing feature attribute to the example for std::process::Command::envs().
The person who originally wrote the example forgot to include this attribute.
This caused Travis CI to fail on commit 9b0a4a4e97 (#40794), which just fixed
formatting in the description of std::process::Command::envs().
2017-03-24 15:47:45 +01:00
Petr Zemek
9b0a4a4e97 Fix formatting in the docs for std::process::Command::envs().
An empty line between the "Basic usage:" text and the example is required to
properly format the code. Without the empty line, the example is not formatted
as code.
2017-03-24 09:42:21 +01:00
Corey Farwell
8fba638b08 Rewrite io::BufRead doc examples to better demonstrate behaviors.
Prior to this commit, most of the `BufRead` examples used `StdinLock` to
demonstrate how certain `BufRead` methods worked. Using `StdinLock` is
not ideal since:

* Relying on run-time data means we can't show concrete examples of how
  these methods work up-front. The user is required to run them in order
  to see how they behave.
* If the user tries to run an example in the playpen, it won't work
  because the playpen doesn't support user input to stdin.
2017-03-23 23:04:36 -04:00
Stepan Koltsov
8a91e4d123 Document Cursor::new position is 0
... even if contained `Vec` is not empty. E. g. for

```
let v = vec![10u8, 20];
let mut c = io::Cursor::new(v);
c.write_all(b"aaaa").unwrap();
println!("{:?}", c.into_inner());
```

result is

```
[97, 97, 97, 97]
```

and not

```
[10, 20, 97, 97, 97, 97]
```
2017-03-24 05:05:34 +03:00
Nick Sweeting
7665991e3e add link to contribution guidelines and IRC room 2017-03-23 13:48:32 -04:00
Nick Sweeting
04fbec1a0c newline for breathing room 2017-03-23 13:43:09 -04:00
Nick Sweeting
53d5082a2d requested changes 2017-03-23 13:42:39 -04:00
Nick Sweeting
425c1a3a05 Add contribution instructions to stdlib docs 2017-03-23 13:29:04 -04:00
Nick Sweeting
4dc1225807 Add helpful hint on io function for beginners 2017-03-23 13:17:21 -04:00