Commit Graph

50782 Commits

Author SHA1 Message Date
Steven Fackler e4aa513139 Fix netbsd 2016-03-03 09:54:15 -08:00
Steven Fackler ee62aab2ed Fix android build 2016-03-03 08:19:30 -08:00
Steven Fackler 631fa2b8c0 Fix comments and OSX build 2016-03-02 22:05:14 -08:00
Steven Fackler 728d9115e8 Fix windows
Also back out keepalive support for TCP since the API is perhaps not
actually what we want. You can't read the interval on Windows, and
we should probably separate the functionality of turning keepalive on
and overriding the interval.
2016-02-28 09:41:33 -08:00
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
bors c5237b02b9 Auto merge of #31940 - teoryn:patch-2, r=steveklabnik
See http://www.ietf.org/rfc/rfc2119.txt
2016-02-27 15:06:19 +00:00
Kevin Stock 9eda98a587 Resolve ambiguous documentation
See http://www.ietf.org/rfc/rfc2119.txt
2016-02-27 08:26:42 -05:00
bors acdd3b9f5a Auto merge of #31932 - Manishearth:rollup, r=Manishearth
- Successful merges: #31909, #31918, #31922, #31926, #31928, #31929, #31930
- Failed merges:
2016-02-27 08:59:57 +00:00
bors 80dee36438 Auto merge of #31926 - llogiq:more_post, r=eddyb
These `_post` methods are quite helpful to control lint behavior without storing e.g. block node ids. So here are a few more I believe will be helpful.

r? @Manishearth
2016-02-27 06:58:28 +00:00
Manish Goregaokar 7f59c21dff Rollup merge of #31930 - miqid:doc, r=steveklabnik
Hello.

I've added links for items inside of some stable methods for consistency with existing ones that already have them. Also includes minor formatting fixes.

r? @steveklabnik
2016-02-27 10:52:02 +05:30
Manish Goregaokar 543c6a37c0 Rollup merge of #31929 - dotdash:less_rallocx, r=alexcrichton
When foldings Substs, we map over VecPerParamSpace instances using
EnumeratedItems which does not provide an accurate size_hint()
in its Iterator implementation. This leads to quite a large number or
reallocations. Providing a suitable size_hint() implementation reduces
the time spent in item-bodies checking quite a bit.

```
crate  | before | after | ~change
-------|-------------------------
core   |  7.28s | 5.44s |   -25%
std    |  2.07s | 1.88s |  -9.2%
syntax |  8.86s | 8.30s |  -6.3%
```
2016-02-27 10:52:02 +05:30
Manish Goregaokar 2d1843ad9d Rollup merge of #31926 - llogiq:more_post, r=eddyb
These `_post` methods are quite helpful to control lint behavior without storing e.g. block node ids. So here are a few more I believe will be helpful.

r? @Manishearth
2016-02-27 10:52:01 +05:30
Manish Goregaokar b42b80a70b Rollup merge of #31922 - Amanieu:relnotes17, r=brson 2016-02-27 10:52:01 +05:30
Manish Goregaokar 9c01031c72 Rollup merge of #31918 - GuillaumeGomez:patch-3, r=steveklabnik
r? @steveklabnik

Fixes #29334
2016-02-27 10:52:01 +05:30
Manish Goregaokar 35b30424df Rollup merge of #31909 - benaryorg:patch-2, r=Manishearth
`continue` expression's description mentioned `break` instead of `continue`
2016-02-27 10:52:00 +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
Michael Huynh d41d3a5b98 Improve formatting of the primitive str documentation
Adds extra documentation links for library types and methods to be
consistent with similar items already linked. Also includes minor
formatting fixes.
2016-02-27 08:25:31 +08:00
Björn Steinbrink 31fef237b6 Avoid excessive reallocations during item-bodies checking
When foldings Substs, we map over VecPerParamSpace instances using
EnumeratedItems which does not provide an accurate size_hint()
in its Iterator implementation. This leads to quite a large number or
reallocations. Providing a suitable size_hint() implementation reduces
the time spent in item-bodies checking quite a bit.

```
crate  | before | after | ~change
-------|-------------------------
core   |  7.28s | 5.44s |   -25%
std    |  2.07s | 1.88s |  -9.2%
syntax |  8.86s | 8.30s |  -6.3%
```
2016-02-27 00:59:43 +01:00
llogiq d315dc6542 more check_*_post methods for LintPasses 2016-02-27 00:21:20 +01: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
Amanieu d'Antras 77c1e11249 Fix typo in release notes 2016-02-26 21:24:19 +00:00
bors 64b4b6d6c6 Auto merge of #31903 - mitaa:rdoc-ghostly-impls, r=alexcrichton
fixes #29584

r? @alexcrichton
2016-02-26 19:25:16 +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
mitaa eae9f4636c Don't inline impls from `doc(hidden)` modules 2016-02-26 15:56:46 +01: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
bors f59fd46425 Auto merge of #31846 - alexcrichton:better-disable-jemallc, r=brson
The `--disable-jemalloc` configure option has a failure mode where it will
create a distribution that is not compatible with other compilers. For example
the nightly for Linux will assume that it will link to jemalloc by default as
an allocator for executable crates. If, however, a standard library is used
which was built via `./configure --disable-jemalloc` then this will fail
because the jemalloc crate wasn't built.

While this seems somewhat reasonable as a niche situation, the same mechanism is
used for disabling jemalloc for platforms that just don't support it. For
example if the rumprun target is compiled then the sibiling Linux target *also*
doesn't have jemalloc. This is currently a problem for our cross-build nightlies
which build many targets. If rumprun is also built, it will disable jemalloc for
all targets, which isn't desired.

This commit moves the platform-specific disabling of jemalloc as hardcoded logic
into the makefiles that is scoped per-platform. This way when configuring
multiple targets **without the `--disable-jemalloc` option specified** all
targets will get jemalloc as they should.
2016-02-26 13:38:46 +00:00
bors ee8b257d2e Auto merge of #31911 - Manishearth:rollup, r=Manishearth
- Successful merges: #31878, #31880, #31883, #31893, #31894, #31896, #31901, #31904
- Failed merges: #31897
2016-02-26 11:36:35 +00: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 263e7228ca Rollup merge of #31901 - bluss:suggest-use, r=sanxiyn
suggest: Put the `use` in suggested code inside the quotes

Change import a trait suggestion from:

       help: candidate #1: use `std::io::Write`

to

       help: candidate #1: `use std::io::Write`

so that the code can be copied directly.

Fixes #31864
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 903798dce0 Rollup merge of #31883 - birkenfeld:doc-null-escape, r=bluss
It appears in the examples, but is not covered by any of the cases
in the prose description.
2016-02-26 17:03:40 +05:30
Manish Goregaokar a52c7dc27b Rollup merge of #31880 - Manishearth:debug, r=alexcrichton
Right this information isn't documented anywhere, sticking it into `make tips`
2016-02-26 17:03:40 +05:30
Manish Goregaokar cefbe505bd Rollup merge of #31878 - frewsxcv:path-cleanup, r=alexcrichton
None
2016-02-26 17:03:39 +05:30
bors 09130044ce Auto merge of #31834 - ubsan:copy_from_slice, r=alexcrichton
implements rust-lang/rfcs#1419

r? alexcrichton
2016-02-26 09:16:03 +00:00
Katze 7a549598bb
documentation fix
`continue` expression's description mentioned `break` instead of `continue`

Signed-off-by: benaryorg <binary@benary.org>
2016-02-26 09:58:01 +01:00
Nicholas Mazzuca e12b1f9424 Add unstable copy_from_slice 2016-02-25 21:20:41 -08:00
Alex Crichton b980f22877 mk: Move disable-jemalloc logic into makefiles
The `--disable-jemalloc` configure option has a failure mode where it will
create a distribution that is not compatible with other compilers. For example
the nightly for Linux will assume that it will link to jemalloc by default as
an allocator for executable crates. If, however, a standard library is used
which was built via `./configure --disable-jemalloc` then this will fail
because the jemalloc crate wasn't built.

While this seems somewhat reasonable as a niche situation, the same mechanism is
used for disabling jemalloc for platforms that just don't support it. For
example if the rumprun target is compiled then the sibiling Linux target *also*
doesn't have jemalloc. This is currently a problem for our cross-build nightlies
which build many targets. If rumprun is also built, it will disable jemalloc for
all targets, which isn't desired.

This commit moves the platform-specific disabling of jemalloc as hardcoded logic
into the makefiles that is scoped per-platform. This way when configuring
multiple targets **without the `--disable-jemalloc` option specified** all
targets will get jemalloc as they should.
2016-02-25 21:05:59 -08:00
bors 9c6a0088fb Auto merge of #31857 - jseyfried:fix_scoping, r=nikomatsakis
This fixes a bug (#31845) introduced in #31105 in which lexical scopes contain items from all anonymous module ancestors, even if the path to the anonymous module includes a normal module:
```rust
fn f() {
    fn g() {}
    mod foo {
        fn h() {
           g(); // This erroneously resolves on nightly
        }
    }
}
```

This is a [breaking-change] on nightly but not on stable or beta.
r? @nikomatsakis
2016-02-26 04:38:28 +00:00
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
bors 15e9a95a4b Auto merge of #31749 - nikomatsakis:compiletest-subdir, r=alexcrichton
You can now group tests into directories like `run-pass/borrowck` or `compile-fail/borrowck`. By default, all `.rs` files within any directory are considered tests: to ignore some directory, create a placeholder file called `compiletest-ignore-dir` (I had to do this for several existing directories).

r? @alexcrichton
cc @brson
2016-02-26 00:53:38 +00:00
Ulrik Sverdrup 5db43169de suggest: Put the `use` in suggested code inside the quotes
Change import a trait suggestion from:

   help: candidate #1: use `std::io::Write`

to

   help: candidate #1: `use std::io::Write`

so that the code can be copied directly.
2016-02-26 01:25:21 +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
bors 798ce4ab59 Auto merge of #30856 - mneumann:thread_local_extern, r=alexcrichton
This will correctly add the thread_local attribute to the external static variable ```errno```:

```rust
extern {
     #[thread_local]
     static errno: c_int;
}
```

Before this commit, the thread_local attribute is ignored. Fixes #30795.

Thanks @alexcrichton for pointing out the solution.
2016-02-25 20:37:38 +00:00
Niko Matsakis d21434c9ca add comment and stop creating directories in runtest 2016-02-25 14:41:52 -05:00