Commit graph

9768 commits

Author SHA1 Message Date
Steven Fackler
5d6ba17f03 Add UDP functionality from net2 2016-02-28 09:41:33 -08:00
Steven Fackler
827be2de0d Add TCP functionality from net2 2016-02-28 09:41:33 -08:00
Tshepang Lekhonkhobe
a34fd5c3fe doc: "ref" not needed in the example
Also, `path` seems better than `p`
2016-02-28 09:37:45 +02:00
Alex Burka
7eb7c56bd4 add indexing with RangeInclusive in libcore and libcollections 2016-02-27 02:01:41 -05:00
Alex Burka
c5d58de665 core: add inclusive ranges to core::ops
Since it removes the old iter::{range_inclusive, RangeInclusive} which
were unstable and deprecated, this is a [breaking-change] on nightly.
2016-02-27 02:01:41 -05:00
Manish Goregaokar
9c01031c72 Rollup merge of #31918 - GuillaumeGomez:patch-3, r=steveklabnik
r? @steveklabnik

Fixes #29334
2016-02-27 10:52:01 +05:30
bors
f1e191c0b9 Auto merge of #31914 - bluss:copy-from-slice-everywhere, r=alexcrichton
Use .copy_from_slice() where applicable

.copy_from_slice() does the same job of .clone_from_slice(), but the
former is explicitly for Copy elements and calls `memcpy` directly, and
thus is it efficient without optimization too.
2016-02-27 01:15:23 +00:00
bors
98a8a71236 Auto merge of #31876 - ollie27:win_fill_bytes, r=brson
CryptGenRandom takes a DWORD (u32) for the length so it only supports
writing u32::MAX bytes at a time.

Casting the length from a usize caused truncation meaning the whole
buffer was not always filled.

cc #31841

This is the same as rust-lang-nursery/rand#99. I think it's a good idea to keep the implementations in sync.

r? @alexcrichton
2016-02-26 22:21:59 +00:00
bors
1aa6ac38b2 Auto merge of #31858 - alexcrichton:fix-networking-cast, r=brson
Similar to #31825 where the read/write limits were capped for files, this
implements similar limits when reading/writing networking types. On Unix this
shouldn't affect anything because the write size is already a `usize`, but on
Windows this will cap the read/write amounts to `i32::max_value`.

cc #31841
2016-02-26 15:42:44 +00:00
Ulrik Sverdrup
2d6496dd84 Use .copy_from_slice() where applicable
.copy_from_slice() does the same job of .clone_from_slice(), but the
former is explicitly for Copy elements and calls `memcpy` directly, and
thus is it efficient without optimization too.
2016-02-26 14:51:38 +01:00
Manish Goregaokar
3c9a26853c fixup #31878 2016-02-26 17:05:46 +05:30
Manish Goregaokar
acea6fc1cb Rollup merge of #31904 - bluss:writer-formatter-error, r=alexcrichton
Make sure formatter errors are emitted by the default Write::write_fmt

Previously, if an error was returned from the formatter that did not
originate in an underlying writer error, Write::write_fmt would return
successfully even if the formatting did not complete (was interrupted by
an `fmt::Error` return).

Now we choose to emit an io::Error with kind Other for formatter errors.

Since this may reveal error returns from `write!()` and similar that
previously passed silently, it's a kind of a [breaking-change].

Fixes #31879
2016-02-26 17:03:42 +05:30
Manish Goregaokar
f74855ed39 Rollup merge of #31896 - tshepang:idiom, r=steveklabnik 2016-02-26 17:03:41 +05:30
Manish Goregaokar
64af0ff74a Rollup merge of #31894 - tshepang:more-clear, r=steveklabnik 2016-02-26 17:03:41 +05:30
Manish Goregaokar
8d28d47995 Rollup merge of #31893 - tshepang:comma, r=steveklabnik 2016-02-26 17:03:41 +05:30
Manish Goregaokar
cefbe505bd Rollup merge of #31878 - frewsxcv:path-cleanup, r=alexcrichton
None
2016-02-26 17:03:39 +05:30
Ulrik Sverdrup
6cfafad3c5 Make sure formatter errors are emitted by the default Write::write_fmt
Previously, if an error was returned from the formatter that did not
originate in an underlying writer error, Write::write_fmt would return
successfully even if the formatting did not complete (was interrupted by
an `fmt::Error` return).

Now we choose to emit an io::Error with kind Other for formatter errors.

Since this may reveal error returns from `write!()` and similar that
previously passed silently, it's a kind of a [breaking-change].
2016-02-26 02:59:25 +01:00
Tshepang Lekhonkhobe
5eb46d9a01 doc: follow the idiom of adding a trailing comma 2016-02-25 23:19:47 +02:00
Tshepang Lekhonkhobe
6c21b1bad6 doc: that explanation was a mess 2016-02-25 23:14:20 +02:00
Tshepang Lekhonkhobe
52ed15fb7c doc: add missing comma 2016-02-25 22:52:02 +02:00
Guillaume Gomez
25c62ebfdd Add f32 and f64 examples warning 2016-02-25 10:15:13 +01:00
Manish Goregaokar
a48f95879d Rollup merge of #31362 - jseyfried:fix_extern_crate_visibility, r=nikomatsakis
This PR changes the visibility of extern crate declarations to match that of items (fixes #26775).
To avoid breakage, the PR makes it a `public_in_private` lint to reexport a private extern crate, and it adds the lint `inaccessible_extern_crate` for uses of an inaccessible extern crate.

The lints can be avoided by making the appropriate `extern crate` declaration public.
2016-02-25 11:41:01 +05:30
Corey Farwell
c82be2f4cb Prefer 'match' pattern guard over conditional within body. 2016-02-24 22:50:23 -05:00
Corey Farwell
8adc3f74f5 Prefer slice::get over length check with indexing. 2016-02-24 22:34:23 -05:00
Oliver Middleton
ac3cc33fee rand: Fix filling buffers 4 GiB or larger with OsRng::fill_bytes on Windows
CryptGenRandom takes a DWORD (u32) for the length so it only supports
writing u32::MAX bytes at a time.

Casting the length from a usize caused truncation meaning the whole
buffer was not always filled.
2016-02-25 01:35:41 +00:00
Manish Goregaokar
b28debd91c Rollup merge of #31843 - Wafflespeanut:bool_docs, r=steveklabnik
fixes #29332

r? @steveklabnik
2016-02-25 04:21:10 +05:30
Manish Goregaokar
ac02f9c18d Rollup merge of #31842 - dileepbapat:master, r=alexcrichton
I have made changes and built it after that. Please advise,

https://github.com/rust-lang/rust/issues/31820
2016-02-25 04:21:10 +05:30
Alex Crichton
f3be73c84b std: Cap read/write limits on Windows networking
Similar to #31825 where the read/write limits were capped for files, this
implements similar limits when reading/writing networking types. On Unix this
shouldn't affect anything because the write size is already a `usize`, but on
Windows this will cap the read/write amounts to `i32::max_value`.

cc #31841
2016-02-24 09:17:07 -08:00
bors
df91cb9af6 Auto merge of #31782 - pitdicker:clean_out_windows_c, r=alexcrichton
I am not entirely sure I have got everything right, but if it compiles it is ok probably...
I tested it with msvc x86_64 and gnu.

Somehow a lot of `EXCEPTION-*` constants are dead code when running test, no idea why.
I have put `#![cfg_attr(test, allow(dead_code))]` at the top for this.
2016-02-24 07:21:44 +00:00
bors
304c790fc2 Auto merge of #31778 - aturon:snapshot, r=alexcrichton
r? @alexcrichton
2016-02-24 04:42:09 +00:00
Jeffrey Seyfried
f8d6dcf46e Warn when reexporting a private extern crate 2016-02-24 01:34:20 +00:00
bors
281f9d868f Auto merge of #30614 - arcnmx:cstr-bytes, r=alexcrichton
I'm a bit iffy on the return type, but `Result` would also be a bit weird... The two error cases are `Unterminated` and `InteriorNul(usize)`.

I considered `from_chars(&[c_char])` but this meshes better with `as_bytes_with_nul()` and Rust code in general.

Should there also be a corresponding unsafe `from_bytes_unchecked` variant?
2016-02-23 20:08:54 +00:00
Ravi Shankar
eb97c26d3b Updated the primitive docs for bool 2016-02-24 01:15:28 +05:30
bors
43ddfbdfb2 Auto merge of #31751 - gkoz:os_str_path_cmp, r=aturon 2016-02-23 17:21:18 +00:00
arcnmx
71f29cd837 CStr::from_bytes_with_nul tests 2016-02-23 11:52:19 -05:00
dileepb
fbfe70e6ab #31820 - Utilize if..let instead of single match branch 2016-02-23 21:21:51 +05:30
Aaron Turon
a92ee0f664 Register new snapshots 2016-02-23 07:31:16 -08:00
arcnmx
9414c4ea18 Link cstr from_bytes to tracking issue 2016-02-23 10:12:39 -05:00
arcnmx
16f218b600 Rename CStr::from_bytes to from_bytes_with_nul 2016-02-23 01:37:53 -05:00
arcnmx
a70ae2ffb9 CStr::from_bytes 2016-02-23 01:37:53 -05:00
Oliver Middleton
b340f25352 Fix reading/writing 4 GiB or larger files on Windows 64-bit
`ReadFile` and `WriteFile` take a DWORD (u32) for the length argument
which was erroneously cast from a usize causing truncation. This meant
methods like `write_all` and `read_exact` would unexpectedly fail if
given a buffer 4 GiB or larger.

We can instead just ask for `u32::MAX` bytes if the given buffer is too
big.
2016-02-23 00:51:18 +00:00
bors
98a59cf57e Auto merge of #31813 - nbaksalyar:solaris-fix, r=sanxiyn
A quick fix for several issues that break a Solaris/Illumos build.
Also, adds a CPU target specification (as seen in a patch for OpenBSD #31727).
2016-02-22 07:08:25 +00:00
bors
e628398f34 Auto merge of #31811 - alexcrichton:clean-deps, r=sanxiyn
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
2016-02-22 05:20:39 +00:00
bors
19437bd452 Auto merge of #31805 - cuviper:android-lfs, r=alexcrichton
Android should use 64-bit LFS symbols for `lseek` and `ftruncate`, lest
those offset parameters suffer a lossy cast down to a 32-bit `off_t`.

Unlike GNU/Linux, Android's `stat`, `dirent`, and related functions are
always 64-bit LFS compatible, and `open` already implies `O_LARGEFILE`,
so all those don't need to follow Linux.  It might be nice to unify them
anyway, but those other LFS symbols aren't present in API 18 bionic.

r? @alexcrichton
2016-02-22 03:08:39 +00:00
bors
c92e910c11 Auto merge of #31810 - gandro:netbsd-fix-stat, r=alexcrichton
Some struct members have a slighty different name on NetBSD. This has been fixed in the libc crate, but not in libstd, breaking the NetBSD build. Related C struct definition: http://nxr.netbsd.org/xref/src/sys/sys/stat.h?r=1.68#59

This also removes the broken `st_spare()` from MetadataExt, since it is private field reserved for future use.

@dhuseby In case this conflicts with any of your pending patches, feel free to intervene - I'm happy to withdraw this PR.

r? @alexcrichton
2016-02-21 23:08:24 +00:00
Nikita Baksalyar
e77c79e96d
Fix broken Solaris build 2016-02-22 01:58:49 +03:00
Paul Dicker
98fa5ac342 RaiseException is used by everything except x86 gnu 2016-02-21 20:41:49 +01:00
bors
f93a62b68d Auto merge of #31792 - Zoxc:sysroot, r=alexcrichton
With these changes you can build a freestanding sysroot without using floating points using a Cargo.toml and copying the `deps` folder cargo outputs.
```
[package]
name = "sysroot"
version = "0.1.0"

[lib]
path = "lib.rs"
crate-type = ["rlib"]

[dependencies.core]
path = "../vendor/rust/src/src/libcore"
features = ["disable_float"]

[dependencies]
collections = { path = "../vendor/rust/src/src/libcollections" }
```
2016-02-21 19:24:02 +00:00
Alex Crichton
95761417c3 rustbuild: Sync some Cargo.toml/lib.rs dependencies
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
2016-02-21 09:49:13 -08:00
Paul Dicker
94db864965 Fixes for 32-bit 2016-02-21 18:15:41 +01:00