Commit graph

9766 commits

Author SHA1 Message Date
Guillaume Gomez
881115c896 Rollup merge of #37913 - GuillaumeGomez:socket-v4, r=frewsxcv
Add missing examples for SocketAddrV4

r? @steveklabnik

cc @frewsxcv
2016-11-23 12:18:10 +01:00
Steven Allen
1aaca5f290 Add a method for setting permissions directly on an open file.
On unix like systems, the underlying file corresponding to any given path may
change at any time. This function makes it possible to set the permissions of
the a file corresponding to a `File` object even if its path changes.
2016-11-22 08:42:28 -08:00
bors
7b3eeea22c Auto merge of #37677 - jsen-:master, r=alexcrichton
libstd: support creation of anonymous pipe on WinXP/2K3

`PIPE_REJECT_REMOTE_CLIENTS` flag is not supported on Windows < VISTA, and every invocation of `anon_pipe` including attempts to pipe `std::process::Child`'s stdio fails.
This PR should work around this issue by performing a runtime check of windows version and conditionally omitting this flag on "XP and friends".

Getting the version should be probably moved out of the function `anon_pipe` itself (the OS version does not often change during runtime :) ), but:
 - I didn't find any precedent for this and assuming there's not much overhead (I hope windows does not perform any heuristics to find out it's own version, just fills couple of fields in the struct).
 - the code path is not especially performance sensitive anyway.
2016-11-21 14:37:24 -06:00
Guillaume Gomez
ff433da526 Add missing examples for SocketAddrV4 2016-11-21 14:07:58 +01:00
jsen-
fc5a361c84 support creation of anonymous pipe on WinXP/2K3 2016-11-20 22:13:01 +01:00
Guillaume Gomez
5ca9fa438b Rollup merge of #37880 - GuillaumeGomez:socket-4-doc, r=frewsxcv
Add missing examples in SocketAddr

r? @frewsxcv
2016-11-20 15:00:05 +01:00
bors
7c535c6ec6 Auto merge of #37833 - sfackler:process-abort, r=alexcrichton
Add std::process::abort

This calls libc abort on Unix and fastfail on Windows, first running
cleanups to do things like flush stdout buffers. This matches with libc
abort's behavior, which flushes open files.

r? @alexcrichton
2016-11-19 20:01:52 -06:00
Guillaume Gomez
bf78ef3851 Add missing examples in SocketAddr 2016-11-19 22:22:05 +01:00
Steven Fackler
fc0140d271 Add std::process::abort
This calls libc abort on Unix and fastfail on Windows.
2016-11-17 16:20:08 -08:00
Guillaume Gomez
976bfc0322 Add examples for Ipv4Addr 2016-11-16 21:13:44 +01:00
Guillaume Gomez
27acb5ca11 Add missing urls and improve internal doc representation 2016-11-16 19:56:01 +01:00
Corey Farwell
af1aa1bccf Update top-level path doc examples to show results. 2016-11-14 15:54:40 -05:00
Corey Farwell
f53d062d42 Minor rewriting of std::path::Path::push doc example. 2016-11-13 12:58:55 -05:00
Eduard-Mihai Burtescu
75f2c21124 Rollup merge of #37699 - alexcrichton:default-for-duration, r=brson
std: Derive `Default` for `Duration`.

Discussed in #37546 the libs team reached the conclusion that a default zero
duration seems like a reasonable implementation of the `Default` trait.

Closes #37546
2016-11-12 10:38:43 +02:00
Eduard-Mihai Burtescu
8886eccdf7 Rollup merge of #37696 - arthurprs:patch-1, r=alexcrichton
Remove one bounds check from BufReader

Very minor thing. Otherwise the optimizer can't be sure that pos <= cap. Added a paranoid debug_assert to ensure correctness instead.

CC #37573
2016-11-12 10:38:42 +02:00
Eduard-Mihai Burtescu
29195e26d2 Rollup merge of #37527 - Mark-Simulacrum:mpsc-recvtimeouterror-error-impl, r=alexcrichton
Add Error implementation for std::sync::mpsc::RecvTimeoutError.

Fixes https://github.com/rust-lang/rust/issues/37525.
2016-11-12 10:38:37 +02:00
Alex Crichton
30502b8205 std: Derive Default for Duration.
Discussed in #37546 the libs team reached the conclusion that a default zero
duration seems like a reasonable implementation of the `Default` trait.

Closes #37546
2016-11-10 16:21:51 -08:00
Arthur Silva
dcd80b80ae Remove one bounds check from BufReader
Otherwise the optimizer can't be sure that pos <= cap. Added a paranoid debug_assert to ensure correctness instead.
2016-11-10 22:26:50 +01:00
Tshepang Lekhonkhobe
a9349d723d doc: fix typos 2016-11-10 05:23:41 +02:00
Eduard-Mihai Burtescu
aad4f29f7b Rollup merge of #37622 - ollie27:cstring, r=alexcrichton
Slightly optimise CString

Avoid a reallocation in CString::from and CStr::to_owned.
2016-11-09 20:51:18 +02:00
Eduard-Mihai Burtescu
d712882228 Rollup merge of #37432 - achanda:send_to, r=alexcrichton
Clarify that send_to might panic in certain cases

Closes #34202

r? @alexcrichton
2016-11-09 20:51:16 +02:00
Abhishek Chanda
50bfc23816 Clarify that send_to might return an error in certain cases
Closes #34202
2016-11-09 09:03:33 +00:00
Steve Klabnik
e6b6586667 Rollup merge of #37588 - GuillaumeGomez:missing_io_urls, r=frewsxcv
Add missing urls on io structs

r? @steveklabnik
2016-11-08 16:20:57 -05:00
Oliver Middleton
18f5f9960f Slightly optimise CString
Avoid a reallocation in CString::from and CStr::to_owned.
2016-11-08 16:55:24 +00:00
bors
38a959a543 Auto merge of #36843 - petrochenkov:dotstab, r=nikomatsakis
Stabilize `..` in tuple (struct) patterns

I'd like to nominate `..` in tuple and tuple struct patterns for stabilization.
This feature is a relatively small extension to existing stable functionality and doesn't have known blockers.
The feature first appeared in Rust 1.10 6 months ago.
An example of use: https://github.com/rust-lang/rust/pull/36203

Closes https://github.com/rust-lang/rust/issues/33627
r? @nikomatsakis
2016-11-08 02:06:45 -08:00
Alex Crichton
8e5c91a6fb Rollup merge of #37589 - raphlinus:fuchsia_random, r=alexcrichton
std: Track change to cprng syscall signature (Fuchsia)

The mx_cprng_draw syscall has changed signature to separate the status
and size return values, rather than multiplexing them into a single
value with errors interpreted as a negative value. This patch tracks
that change.
2016-11-05 10:50:25 -07:00
Alex Crichton
727f1d3f16 Rollup merge of #37585 - leodasvacas:change_into_to_from, r=alexcrichton
Change `Into<Vec<u8>> for String` and `Into<OsString> for PathBuf` to From

Fixes #37561. First contribution, happy with any and all feedback!
2016-11-05 10:50:25 -07:00
Alex Crichton
112a4ff748 Rollup merge of #37537 - GuillaumeGomez:error_kind_doc, r=steveklabnik
Add missing urls for ErrorKind's variants

r? @steveklabnik
2016-11-05 10:50:23 -07:00
Alex Crichton
1d41d5bd01 Rollup merge of #37470 - arthurprs:sip-smaller, r=alexcrichton
Don't reuse RandomState seeds

cc #36481
2016-11-05 10:50:22 -07:00
Guillaume Gomez
36e6f4be31 add missing urls on io structs 2016-11-05 00:48:03 +01:00
Raph Levien
fe953dc16e std: Track change to cprng syscall signature (Fuchsia)
The mx_cprng_draw syscall has changed signature to separate the status
and size return values, rather than multiplexing them into a single
value with errors interpreted as a negative value. This patch tracks
that change.
2016-11-04 13:04:27 -07:00
leonardo.yvens
3e4bd88438 Change Into<Vec<u8>> for String and Into<OsString> for PathBuf to From impls 2016-11-04 15:54:08 -02:00
bors
d2bc30b03f Auto merge of #37037 - Mark-Simulacrum:stack-error, r=alexcrichton
Add conversions from `io:ErrorKind` to `io::Error`

Filing to help with discussion around the possibility of doing this.

Current changes are clearly backwards incompatible, but I think adding a new function (with a bikeshed on naming) like `Error::new_str` should be possible (or some other way of specializing the string error message case) to fix #36658.
2016-11-04 03:38:18 -07:00
Vadim Petrochenkov
74bb594563 Stabilize .. in tuple (struct) patterns 2016-11-03 01:38:15 +03:00
Jonathan Turner
b333860611 Rollup merge of #37498 - sanxiyn:unused-type-alias, r=eddyb
Remove unused type aliases

Found by extending the dead code lint. The lint itself is work in progress because of false positives.

cc #37455.
2016-11-02 15:09:42 -04:00
Guillaume Gomez
942f909c1f Add missing urls for ErrorKind's variants 2016-11-02 19:08:10 +01:00
bors
0ca9967af7 Auto merge of #36948 - brson:sys, r=brson
More refactoring to obey platform abstraction lint

The most interesting things here are moving `std/sys/common` to `std/sys_common`, and `std/num/{f32,f64}.rs` to `std/{f32,f64}.rs`, and adding more documentation to `std/lib.rs`.

r? @alexcrichton
2016-11-02 08:44:33 -07:00
Mark-Simulacrum
99234bbe9e Add a new non-heap allocated variant to io::Error's representation.
Implement From<ErrorKind> for io::Error, intended for use with errors
that should never be exposed to the user.
2016-11-02 09:01:14 -06:00
Mark-Simulacrum
2af61112d4 Add Error implementation for std::sync::mpsc::RecvTimeoutError. 2016-11-02 08:59:55 -06:00
Brian Anderson
6135cbc9e2 std: Flatten the num directory to reflect the module layout
This makes it dissimilar to how core is structured on disk, but
more predictable on its own.
2016-11-01 17:08:24 +00:00
Brian Anderson
c251884575 Clean up and add more comments to libstd/lib.rs 2016-11-01 17:08:24 +00:00
Brian Anderson
8f5bb1f7c0 std: Remove unused test feature 2016-11-01 17:08:24 +00:00
Brian Anderson
ee71dc5476 Document sys_common and sys 2016-11-01 17:08:24 +00:00
Brian Anderson
ca30691813 std: Move sys_common to libstd/sys_common
Make the directory structure reflect the module structure. I've always
found the existing structure confusing.
2016-11-01 17:08:24 +00:00
Brian Anderson
f3a709dc52 std: Move platform-specific out of sys_common::util 2016-11-01 17:08:24 +00:00
Brian Anderson
219c018894 std: Move platform-specific code out of libstd/lib.rs 2016-11-01 17:08:24 +00:00
Brian Anderson
6d54cd4b2c std: Move a plattform-specific constant to sys::stdio 2016-11-01 17:08:24 +00:00
Brian Anderson
8b2600dbf9 Document reasoning for supporting both fast and OS TLS in the same bin 2016-11-01 17:08:24 +00:00
Brian Anderson
568840707c std: Move elf TLS to sys::fast_thread_local 2016-11-01 17:08:24 +00:00
Guillaume Gomez
7e805eae8e Rollup merge of #37316 - ollie27:docs_links, r=GuillaumeGomez
Fix a few links in the docs

r? @steveklabnik
2016-11-01 16:15:52 +01:00