]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoMerge branch 'master' into ty-placeholder
Esteban Küber [Fri, 7 Apr 2017 14:19:44 +0000 (07:19 -0700)]
Merge branch 'master' into ty-placeholder

7 years agofix build errors
Nick Sweeting [Fri, 7 Apr 2017 20:42:56 +0000 (16:42 -0400)]
fix build errors

7 years agoAdd as_c_str.
Clar Charr [Wed, 5 Apr 2017 21:13:46 +0000 (17:13 -0400)]
Add as_c_str.

7 years agoDisable errexit for sanity checking git repo
Aidan Hobson Sayers [Fri, 7 Apr 2017 18:55:52 +0000 (19:55 +0100)]
Disable errexit for sanity checking git repo

7 years agopub(restricted) didn't make it into 1.17
est31 [Fri, 7 Apr 2017 18:47:22 +0000 (20:47 +0200)]
pub(restricted) didn't make it into 1.17

Gets shipped in 1.18 instead.

7 years agoReplace compare_exchange with swap
Stjepan Glavina [Fri, 7 Apr 2017 16:04:15 +0000 (18:04 +0200)]
Replace compare_exchange with swap

7 years agohack: add a linker_flavor feature gate
Jorge Aparicio [Fri, 7 Apr 2017 15:51:36 +0000 (10:51 -0500)]
hack: add a linker_flavor feature gate

to make tidy accept `-Z linker-flavor` documentation

7 years agoadd some documentation to the unstable book
Jorge Aparicio [Fri, 7 Apr 2017 03:36:30 +0000 (22:36 -0500)]
add some documentation to the unstable book

7 years agoremove workaround for rust-lang/rust#39880
Jorge Aparicio [Fri, 7 Apr 2017 01:39:10 +0000 (20:39 -0500)]
remove workaround for rust-lang/rust#39880

committed by mistake

7 years ago-Z linker-flavor
Jorge Aparicio [Tue, 21 Feb 2017 19:47:15 +0000 (14:47 -0500)]
-Z linker-flavor

This patch adds a `-Z linker-flavor` flag to rustc which can be used to invoke
the linker using a different interface.

For example, by default rustc assumes that all the Linux targets will be linked
using GCC. This makes it impossible to use LLD as a linker using just `-C
linker=ld.lld` because that will invoke LLD with invalid command line
arguments. (e.g. rustc will pass -Wl,--gc-sections to LLD but LLD doesn't
understand that; --gc-sections would be the right argument)

With this patch one can pass `-Z linker-flavor=ld` to rustc to invoke the linker
using a LD-like interface. This way, `rustc -C linker=ld.lld -Z
linker-flavor=ld` will invoke LLD with the right arguments.

`-Z linker-flavor` accepts 4 different arguments: `em` (emcc), `ld`,
`gcc`, `msvc` (link.exe). `em`, `gnu` and `msvc` cover all the existing linker
interfaces. `ld` is a new flavor for interfacing GNU's ld and LLD.

This patch also changes target specifications. `linker-flavor` is now a
mandatory field that specifies the *default* linker flavor that the target will
use. This change also makes the linker interface *explicit*; before, it used to
be derived from other fields like linker-is-gnu, is-like-msvc,
is-like-emscripten, etc.

Another change to target specifications is that the fields `pre-link-args`,
`post-link-args` and `late-link-args` now expect a map from flavor to linker
arguments.

``` diff
-    "pre-link-args": ["-Wl,--as-needed", "-Wl,-z,-noexecstack"],
+    "pre-link-args": {
+        "gcc": ["-Wl,--as-needed", "-Wl,-z,-noexecstack"],
+        "ld": ["--as-needed", "-z,-noexecstack"],
+    },
```

[breaking-change]  for users of custom targets specifications

7 years agoOptimize AtomicBool::fetch_nand
Stjepan Glavina [Fri, 7 Apr 2017 15:28:55 +0000 (17:28 +0200)]
Optimize AtomicBool::fetch_nand

7 years agoAuto merge of #41138 - frewsxcv:rollup, r=frewsxcv
bors [Fri, 7 Apr 2017 15:25:47 +0000 (15:25 +0000)]
Auto merge of #41138 - frewsxcv:rollup, r=frewsxcv

Rollup of 9 pull requests

- Successful merges: #40797, #41047, #41056, #41061, #41075, #41080, #41120, #41130, #41131
- Failed merges:

7 years agochange the format of the linked issue number
Jorge Aparicio [Fri, 7 Apr 2017 14:46:55 +0000 (09:46 -0500)]
change the format of the linked issue number

7 years agoRollup merge of #41131 - euclio:collapse-animation, r=GuillaumeGomez
Corey Farwell [Fri, 7 Apr 2017 13:20:11 +0000 (09:20 -0400)]
Rollup merge of #41131 - euclio:collapse-animation, r=GuillaumeGomez

rustdoc: collapse docblock before showing label

The animation for collapsing descriptions is currently pretty jarring, as the label starts fading in as the description is collapsing. This causes the description to jump down a line (and sometimes change indentation) while animating.

This PR modifies this behavior to collapse the block entirely before starting to fade in the collapse button label.

While this PR works well for descriptions of structs, traits, etc., it still does not look ideal for attributes. I'd appreciate any suggestions for improving that animation. Perhaps we want to optimize for the single-attribute case, and try not to collapse the attribute list entirely before fading in the label?

7 years agoRollup merge of #41130 - petrhosek:fuchsia-ci-upstream, r=alexcrichton
Corey Farwell [Fri, 7 Apr 2017 13:20:10 +0000 (09:20 -0400)]
Rollup merge of #41130 - petrhosek:fuchsia-ci-upstream, r=alexcrichton

travis: Use upstream LLVM repositories for Fuchsia

The Fuchsia copies of LLVM repositories contain additional patches
for work-in-progress features and there is some amount of churn that
may break Rust. Use upstream LLVM repositories instead for building
the toolchain used by the Fuchsia builder.

7 years agoRollup merge of #41120 - clarcharr:c_str_transmute, r=alexcrichton
Corey Farwell [Fri, 7 Apr 2017 13:20:09 +0000 (09:20 -0400)]
Rollup merge of #41120 - clarcharr:c_str_transmute, r=alexcrichton

Remove some CStr transmutes.

Because dedicated methods exist for these, we don't have to add other transmutes.

7 years agoRollup merge of #41080 - cuviper:generic-powerpc, r=alexcrichton
Corey Farwell [Fri, 7 Apr 2017 13:20:08 +0000 (09:20 -0400)]
Rollup merge of #41080 - cuviper:generic-powerpc, r=alexcrichton

dist-powerpc-linux: use a pure 32-bit CPU profile

With `-mcpu=power4`, code might use instructions like `fcfid`, excluding
older CPUs like the PowerPC G4, which apparently some users would like
to use.  The generic `-mcpu=powerpc` should stick to pure 32-bit PowerPC
instructions.

Fixes rust-lang/cargo#3852.

7 years agoRollup merge of #41075 - aidanhs:aphs-enable-appveyor-cache, r=alexcrichton
Corey Farwell [Fri, 7 Apr 2017 13:20:07 +0000 (09:20 -0400)]
Rollup merge of #41075 - aidanhs:aphs-enable-appveyor-cache, r=alexcrichton

Re-enable appveyor cache

After breaking the queue last time, I'm cautiously back with a PR to re-enable caching on appveyor.

If you look at https://ci.appveyor.com/project/rust-lang/rust/build/1.0.2623/job/46o90by4ari6gege (one of the multiple runs that started failed, there are actually two errors - one for restoring the cache, one right at the bottom for creating a directory. I only noticed the restore error at the time as I was a bit rushed to revert and didn't stop to wonder why it continued - turns out appveyor [does not abort on cache restore failure](https://github.com/appveyor/ci/issues/723).

Turns out the cause of the build failures was the cache directory existing and me being thinking that because mkdir on windows is [recursive by default](http://stackoverflow.com/a/905239/2352259), it ignores the error if the directory already exists. Apparently this is not true, so now it checks if the directory exists before attempting to create.

In addition, I've added some more paranoia to double check everything is sane.

7 years agoRollup merge of #41061 - arielb1:parent-lock, r=eddyb
Corey Farwell [Fri, 7 Apr 2017 13:20:06 +0000 (09:20 -0400)]
Rollup merge of #41061 - arielb1:parent-lock, r=eddyb

cstore: return an immutable borrow from `visible_parent_map`

This prevents an ICE when `visible_parent_map` is called multiple times, for example when an item referenced in an impl signature is imported from an  `extern crate` statement occurs within an impl.

Fixes #41053.

r? @eddyb

7 years agoRollup merge of #41056 - michaelwoerister:central-defpath-hashes, r=nikomatsakis
Corey Farwell [Fri, 7 Apr 2017 13:20:05 +0000 (09:20 -0400)]
Rollup merge of #41056 - michaelwoerister:central-defpath-hashes, r=nikomatsakis

Handle DefPath hashing centrally as part of DefPathTable (+ save work during SVH calculation)

In almost all cases where we construct a `DefPath`, we just hash it and throw it away again immediately.
With this PR, the compiler will immediately compute and store the hash for each `DefPath` as it is allocated. This way we
+ can get rid of any subsequent `DefPath` hash caching (e.g. the `DefPathHashes`),
+ don't need to allocate a transient `Vec` for holding the `DefPath` (although I'm always surprised how little these small, dynamic allocations seem to hurt performance), and
+ we don't hash `DefPath` prefixes over and over again.

That last part is because we construct the hash for `prefix::foo` by hashing `(hash(prefix), foo)` instead of hashing every component of prefix.

The last commit of this PR is pretty neat, I think:
```
The SVH (Strict Version Hash) of a crate is currently computed
by hashing the ICHes (Incremental Computation Hashes) of the
crate's HIR. This is fine, expect that for incr. comp. we compute
two ICH values for each HIR item, one for the complete item and
one that just includes the item's interface. The two hashes are
are needed for dependency tracking but if we are compiling
non-incrementally and just need the ICH values for the SVH,
one of them is enough, giving us the opportunity to save some
work in this case.
```

r? @nikomatsakis

This PR depends on https://github.com/rust-lang/rust/pull/40878 to be merged first (you can ignore the first commit for reviewing, that's just https://github.com/rust-lang/rust/pull/40878).

7 years agoRollup merge of #41047 - cuviper:src_is_git, r=alexcrichton
Corey Farwell [Fri, 7 Apr 2017 13:20:04 +0000 (09:20 -0400)]
Rollup merge of #41047 - cuviper:src_is_git, r=alexcrichton

Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes #41042.

7 years agoRollup merge of #40797 - GAJaloyan:patch-1, r=arielb1
Corey Farwell [Fri, 7 Apr 2017 13:20:03 +0000 (09:20 -0400)]
Rollup merge of #40797 - GAJaloyan:patch-1, r=arielb1

Correcting mistakes in the README.md

Correcting the two mistakes in the README.md (issue #40793)

7 years agoMention interrupts and green threads
Jon Gjengset [Fri, 7 Apr 2017 13:13:06 +0000 (09:13 -0400)]
Mention interrupts and green threads

7 years agorustdoc needs space after # to ignore
Jon Gjengset [Fri, 7 Apr 2017 13:11:07 +0000 (09:11 -0400)]
rustdoc needs space after # to ignore

7 years agoAuto merge of #40971 - malbarbo:android-emulator-64, r=alexcrichton
bors [Fri, 7 Apr 2017 12:51:18 +0000 (12:51 +0000)]
Auto merge of #40971 - malbarbo:android-emulator-64, r=alexcrichton

Use 64 bits emulator to run android tests

Also install headless jre instead of the full jre.

7 years agoSVH: Don't hash the HIR twice when once is enough.
Michael Woerister [Mon, 3 Apr 2017 17:39:12 +0000 (19:39 +0200)]
SVH: Don't hash the HIR twice when once is enough.

The SVH (Strict Version Hash) of a crate is currently computed
by hashing the ICHes (Incremental Computation Hashes) of the
crate's HIR. This is fine, expect that for incr. comp. we compute
two ICH values for each HIR item, one for the complete item and
one that just includes the item's interface. The two hashes are
are needed for dependency tracking but if we are compiling
non-incrementally and just need the ICH values for the SVH,
one of them is enough, giving us the opportunity to save some
work in this case.

7 years agoICH: Centrally compute and cache DefPath hashes as part of DefPathTable.
Michael Woerister [Mon, 3 Apr 2017 17:20:26 +0000 (19:20 +0200)]
ICH: Centrally compute and cache DefPath hashes as part of DefPathTable.

7 years agoAuto merge of #40873 - cramertj:on-demandify-queries, r=nikomatsakis
bors [Fri, 7 Apr 2017 08:36:11 +0000 (08:36 +0000)]
Auto merge of #40873 - cramertj:on-demandify-queries, r=nikomatsakis

On demandify reachability

cc https://github.com/rust-lang/rust/issues/40746

I tried following this guidance from #40746:
> The following tasks currently execute before a tcx is built, but they could be easily converted into queries that are requested after tcx is built. The main reason they are the way they are was to avoid a gratuitious refcell (but using the refcell map seems fine)...

but the result of moving `region_maps` out of `TyCtxt` and into a query caused a lot of churn, and seems like it could potentially result in a rather large performance hit, since it means a dep-graph lookup on every use of `region_maps` (rather than just a field access). Possibly `TyCtxt` could store a `RefCell<Option<RegionMap>>` internally and use that to prevent repeat lookups, but that feels like it's duplicating the work of the dep-graph. @nikomatsakis What did you have in mind for this?

7 years agotravis: Use upstream LLVM repositories for Fuchsia
Petr Hosek [Fri, 7 Apr 2017 01:49:41 +0000 (18:49 -0700)]
travis: Use upstream LLVM repositories for Fuchsia

The Fuchsia copies of LLVM repositories contain additional patches
for work-in-progress features and there is some amount of churn that
may break Rust. Use upstream LLVM repositories instead for building
the toolchain used by the Fuchsia builder.

7 years agodocument some existing unstable features
Jorge Aparicio [Fri, 7 Apr 2017 06:05:03 +0000 (01:05 -0500)]
document some existing unstable features

"msp430-interrupt", "ptx-kernel" and #![compiler_builtins_lib]

7 years agoAuto merge of #39987 - japaric:used, r=arielb1
bors [Fri, 7 Apr 2017 04:56:45 +0000 (04:56 +0000)]
Auto merge of #39987 - japaric:used, r=arielb1

#[used] attribute

(For an explanation of what this feature does, read the commit message)

I'd like to propose landing this as an experimental feature (experimental as in:
no clear stabilization path -- like `asm!`, `#[linkage]`) as it's low
maintenance (I think) and relevant to the "Usage in resource-constrained
environments" exploration area.

The main use case I see is running code before `main`. This could be used, for
instance, to cheaply initialize an allocator before `main` where the alternative
is to use `lazy_static` to initialize the allocator on its first use which it's
more expensive (atomics) and doesn't work on ARM Cortex-M0 microcontrollers (no
`AtomicUsize` on that platform)

Here's a `std` example of that:

``` rust

unsafe extern "C" fn before_main_1() {
    println!("Hello");
}

unsafe extern "C" fn before_main_2() {
    println!("World");
}

#[link_section = ".init_arary"]
#[used]
static INIT_ARRAY: [unsafe extern "C" fn(); 2] = [before_main_1, before_main_2];

fn main() {
    println!("Goodbye");
}
```

```
$ rustc -C lto -C opt-level=3 before_main.rs
$ ./before_main
Hello
World
Goodbye
```

In general, this pattern could be used to let *dependencies* run code before
`main` (which sounds like it could go very wrong in some cases). There are
probably other use cases; I hope that the people I have cc-ed can comment on
those.

Note that I'm personally unsure if the above pattern is something we want to
promote / allow and that's why I'm proposing this feature as experimental. If
this leads to more footguns than benefits then we can just axe the feature.

cc @nikomatsakis ^ I know you have some thoughts on having a process for
experimental features though I'm fine with writing an RFC before landing this.

- `dead_code` lint will have to be updated to special case `#[used]` symbols.

- Should we extend `#[used]` to work on non-generic functions?

cc rust-lang/rfcs#1002
cc rust-lang/rfcs#1459
cc @dpc @JinShil

7 years agodon't pass -C to nm
Jorge Aparicio [Fri, 7 Apr 2017 04:53:32 +0000 (23:53 -0500)]
don't pass -C to nm

the nm in our macOS bots don't support that flag and it's not really required

7 years agoCorrect book examples for hardware re-ordering
Jon Gjengset [Fri, 7 Apr 2017 03:29:16 +0000 (23:29 -0400)]
Correct book examples for hardware re-ordering

7 years agoChanges based on PR feedback
Ryan Scott [Fri, 7 Apr 2017 03:20:37 +0000 (12:20 +0900)]
Changes based on PR feedback

7 years agorustdoc: collapse docblock before showing label
Andy Russell [Thu, 6 Apr 2017 18:53:15 +0000 (14:53 -0400)]
rustdoc: collapse docblock before showing label

7 years agorustdoc: move the space at the end of where clauses
QuietMisdreavus [Thu, 6 Apr 2017 23:36:14 +0000 (18:36 -0500)]
rustdoc: move the space at the end of where clauses

...so that we don't indent the next line by one extra space

7 years agoignore the .init_array doctest
Jorge Aparicio [Thu, 6 Apr 2017 23:32:39 +0000 (18:32 -0500)]
ignore the .init_array doctest

as it's specific to ELF and won't pass on macOS / Windows

7 years agoAuto merge of #41121 - frewsxcv:rollup, r=frewsxcv
bors [Thu, 6 Apr 2017 22:51:51 +0000 (22:51 +0000)]
Auto merge of #41121 - frewsxcv:rollup, r=frewsxcv

Rollup of 8 pull requests

- Successful merges: #40878, #40976, #41089, #41090, #41108, #41111, #41112, #41114
- Failed merges:

7 years agoRemove some CStr transmutes.
Clar Charr [Thu, 6 Apr 2017 18:43:37 +0000 (14:43 -0400)]
Remove some CStr transmutes.

7 years agoAuto merge of #40863 - eddyb:coerce-only-once, r=arielb1
bors [Thu, 6 Apr 2017 20:15:17 +0000 (20:15 +0000)]
Auto merge of #40863 - eddyb:coerce-only-once, r=arielb1

Avoid type-checking addition and indexing twice.

Fixes #40610 by moving the common `check_expr_coercable_to_type` call before the error reporting logic for binops and removing the one from `check_str_addition`.
Fixes #40861 by removing an unnecessary `check_expr_coercable_to_type` call.

7 years agorustdoc: where clause adjustment to fix tests
QuietMisdreavus [Thu, 6 Apr 2017 19:19:45 +0000 (14:19 -0500)]
rustdoc: where clause adjustment to fix tests

- add spaces to output so stripping lines and breaking spaces renders
  the same
- add commas to where clauses in rustdoc tests to match the new output

7 years agoRollup merge of #41114 - nodakai:patch-2, r=petrochenkov
Corey Farwell [Thu, 6 Apr 2017 18:55:09 +0000 (14:55 -0400)]
Rollup merge of #41114 - nodakai:patch-2, r=petrochenkov

.gitmodules: use the official Git URL w/o redirect

7 years agoRollup merge of #41112 - ollie27:rustdoc_pull, r=GuillaumeGomez
Corey Farwell [Thu, 6 Apr 2017 18:55:08 +0000 (14:55 -0400)]
Rollup merge of #41112 - ollie27:rustdoc_pull, r=GuillaumeGomez

rustdoc: Use pulldown-cmark for Markdown HTML rendering

Instead of rendering all of the HTML in rustdoc this relies on
pulldown-cmark's `push_html` to do most of the work. A few iterator
adapters are used to make rustdoc specific modifications to the output.

This also fixes MarkdownHtml and link titles in plain_summary_line.

https://ollie27.github.io/rust_doc_test/ is the docs built with this change and #41111.

Part of #40912.

cc @GuillaumeGomez

r? @steveklabnik

7 years agoRollup merge of #41111 - ollie27:docs_markdown_fix, r=GuillaumeGomez
Corey Farwell [Thu, 6 Apr 2017 18:55:07 +0000 (14:55 -0400)]
Rollup merge of #41111 - ollie27:docs_markdown_fix, r=GuillaumeGomez

Fix Markdown issues in the docs

* Since the switch to pulldown-cmark reference links need a blank line
before the URLs. (#40912)
* Reference link references are not case sensitive.
* Doc comments need to be indented uniformly otherwise rustdoc gets
confused.

7 years agoRollup merge of #41108 - arielb1:tuple-blame, r=estebank
Corey Farwell [Thu, 6 Apr 2017 18:55:06 +0000 (14:55 -0400)]
Rollup merge of #41108 - arielb1:tuple-blame, r=estebank

don't try to blame tuple fields for immutability

Tuple fields don't have an `&T` in their declaration that can be changed
to `&mut T` - skip them..

Fixes #41104.

r? @nikomatsakis

7 years agoRollup merge of #41090 - rap2hpoutre:patch-2, r=steveklabnik
Corey Farwell [Thu, 6 Apr 2017 18:55:05 +0000 (14:55 -0400)]
Rollup merge of #41090 - rap2hpoutre:patch-2, r=steveklabnik

Add example to std::process::abort

This is a second step in order to complete this issue: https://github.com/rust-lang/rust/issues/29370
I submitted this PR with the help of @steveklabnik again. Thanks to him! More info here: https://github.com/rust-lang/rust/issues/29370#issuecomment-290653877

7 years agoRollup merge of #41089 - alexcrichton:update-musl, r=brson
Corey Farwell [Thu, 6 Apr 2017 18:55:04 +0000 (14:55 -0400)]
Rollup merge of #41089 - alexcrichton:update-musl, r=brson

travis: Update musl for i686/x86_64

This is a random stab towards #38618, no idea if it'll work. But hey more
up-to-date software is better, right?

7 years agoRollup merge of #40976 - matthewjasper:char-const-expr, r=eddyb
Corey Farwell [Thu, 6 Apr 2017 18:55:03 +0000 (14:55 -0400)]
Rollup merge of #40976 - matthewjasper:char-const-expr, r=eddyb

Don't warn about `char` comparisons in constexprs

Fixes #40970 by evaluating const-exprs for comparisons on `char`s properly.

7 years agoRollup merge of #40878 - michaelwoerister:dmh, r=nikomatsakis
Corey Farwell [Thu, 6 Apr 2017 18:55:02 +0000 (14:55 -0400)]
Rollup merge of #40878 - michaelwoerister:dmh, r=nikomatsakis

Introduce HashStable trait and base ICH implementations on it.

This PR introduces the `HashStable` trait which marks that a type can be hashed in a way that is stable across multiple compilation sessions. The PR also moves HIR incr. comp. hashing over to implementations of this trait instead of doing this via a HIR visitor. It also provides many `HashStable` implementations that are not used yet (e.g. for MIR types) but soon will be used when we directly hash crate metadata for incr. comp.

I've only done superficial performance measurements but it looks like the new implementation is a bit faster than the current one (due, I suppose, to some bugs I fixed and some unnecessary inefficiencies I removed). Here is the time in seconds for the `compute_incremental_hashes_map` pass for various crates:

|                 |  OLD  |  NEW  |
|:---------------:|:-----:|:-----:|
| libcore         | 0.507 | 0.409 |
| libsyntax       | 0.320 | 0.260 |
| librustc        | 0.730 | 0.611 |
| librustc_driver | 0.024 | 0.015 |

Some notes regarding the implementation:
* Most `HashStable` implementations are provided via the `impl_hash_stable_for!` macro (as suggested by @nikomatsakis). This works out quite well. A custom_derive would have been better but Macros 1.1 are not available in the compiler.
* The trait implementation take care to exhaustively destructure everything they hash so that fields added in the future don't fall through the cracks. This is a bit verbose but I think it's well worth the trouble since we've had quite a few issues with missing fields or visitor callbacks in this area in the past. Most of it is behind the macro anyway.

cc @rust-lang/compiler
r? @nikomatsakis

7 years agoAvoid type-checking addition and indexing twice.
Eduard-Mihai Burtescu [Mon, 27 Mar 2017 18:52:51 +0000 (21:52 +0300)]
Avoid type-checking addition and indexing twice.

7 years agoIntroduce HashStable trait and base ICH implementations on it.
Michael Woerister [Thu, 30 Mar 2017 13:27:27 +0000 (15:27 +0200)]
Introduce HashStable trait and base ICH implementations on it.

This initial commit provides implementations for HIR, MIR, and
everything that also needs to be supported for those two.

7 years ago.gitmodules: use the official Git URL w/o redirect
NODA, Kai [Thu, 6 Apr 2017 13:48:56 +0000 (21:48 +0800)]
.gitmodules: use the official Git URL w/o redirect

7 years agoadd link to issue number, ignore snippet that requires custom linking
Jorge Aparicio [Thu, 6 Apr 2017 13:48:48 +0000 (08:48 -0500)]
add link to issue number, ignore snippet that requires custom linking

7 years agorustdoc: Use pulldown-cmark for Markdown HTML rendering
Oliver Middleton [Thu, 6 Apr 2017 12:09:20 +0000 (13:09 +0100)]
rustdoc: Use pulldown-cmark for Markdown HTML rendering

Instead of rendering all of the HTML in rustdoc this relies on
pulldown-cmark's `push_html` to do most of the work. A few iterator
adapters are used to make rustdoc specific modifications to the output.

This also fixes MarkdownHtml and link titles in plain_summary_line.

7 years agoFix Markdown issues in the docs
Oliver Middleton [Thu, 6 Apr 2017 11:57:40 +0000 (12:57 +0100)]
Fix Markdown issues in the docs

* Since the switch to pulldown-cmark reference links need a blank line
before the URLs.
* Reference link references are not case sensitive.
* Doc comments need to be indented uniformly otherwise rustdoc gets
confused.

7 years agoAuto merge of #41039 - alexcrichton:process-poll, r=nagisa
bors [Thu, 6 Apr 2017 11:21:55 +0000 (11:21 +0000)]
Auto merge of #41039 - alexcrichton:process-poll, r=nagisa

std: Use `poll` instead of `select`

This gives us the benefit of supporting file descriptors over the limit that
select supports, which...

Closes #40894

7 years agodon't try to blame tuple fields for immutability
Ariel Ben-Yehuda [Thu, 6 Apr 2017 10:20:24 +0000 (13:20 +0300)]
don't try to blame tuple fields for immutability

Tuple fields don't have an `&T` in their declaration that can be changed
to `&mut T` - skip them..

Fixes #41104.

7 years agoAuto merge of #40996 - alexcrichton:update-cargo, r=alexcrichton
bors [Thu, 6 Apr 2017 08:53:36 +0000 (08:53 +0000)]
Auto merge of #40996 - alexcrichton:update-cargo, r=alexcrichton

Update cargo submodule

Pulls in a fix for rust-lang/rust#40956

7 years agoUpdate process.rs
raph [Thu, 6 Apr 2017 08:17:32 +0000 (10:17 +0200)]
Update process.rs

7 years agoPoint to tracking issue, not PR
Jon Gjengset [Thu, 6 Apr 2017 07:45:08 +0000 (03:45 -0400)]
Point to tracking issue, not PR

7 years agoAdd unstable book entry
Jon Gjengset [Thu, 6 Apr 2017 01:39:43 +0000 (21:39 -0400)]
Add unstable book entry

7 years agoAuto merge of #41102 - frewsxcv:rollup, r=frewsxcv
bors [Thu, 6 Apr 2017 06:07:42 +0000 (06:07 +0000)]
Auto merge of #41102 - frewsxcv:rollup, r=frewsxcv

Rollup of 5 pull requests

- Successful merges: #40908, #41011, #41026, #41037, #41050
- Failed merges:

7 years agoadd documentation to the unstable book
Jorge Aparicio [Thu, 6 Apr 2017 05:04:33 +0000 (00:04 -0500)]
add documentation to the unstable book

7 years agoRollup merge of #41050 - jseyfried:fix_derive_parsing, r=petrochenkov
Corey Farwell [Thu, 6 Apr 2017 03:51:43 +0000 (23:51 -0400)]
Rollup merge of #41050 - jseyfried:fix_derive_parsing, r=petrochenkov

macros: fix bug parsing `#[derive]` invocations

Fixes #40962 (introduced in #40346).
r? @nrc

7 years agoRollup merge of #41037 - stjepang:move-libxtest, r=alexcrichton
Corey Farwell [Thu, 6 Apr 2017 03:51:42 +0000 (23:51 -0400)]
Rollup merge of #41037 - stjepang:move-libxtest, r=alexcrichton

Move libXtest into libX/tests

This change moves:

1. `libcoretest` into `libcore/tests`
2. `libcollectionstest` into `libcollections/tests`

This is a follow-up to #39561.

r? @alexcrichton

7 years agoRollup merge of #41026 - CleanCut:rust-40860, r=alexcrichton
Corey Farwell [Thu, 6 Apr 2017 03:51:41 +0000 (23:51 -0400)]
Rollup merge of #41026 - CleanCut:rust-40860, r=alexcrichton

Handle symlinks in src/bootstrap/clean.rs (mostly) -- resolves #40860.

In response to #40860

The broken condition can be replicated with:

```shell
export MYARCH=x86_64-apple-darwin && mkdir -p build/$MYARCH/subdir &&
touch build/$MYARCH/subdir/file && ln -s build/$MYARCH/subdir/file
build/$MYARCH/subdir/symlink
```

`src/bootstrap/clean.rs` has a custom implementation of removing a tree
`fn rm_rf` that used `std::path::Path::{is_file, is_dir, exists}` while
recursively deleting directories and files.  Unfortunately, `Path`'s
implementation of `is_file()` and `is_dir()` and `exists()` always
unconditionally follow symlinks, which is the exact opposite of standard
implementations of deleting file trees.

It appears that this custom implementation is being used to workaround a
behavior in Windows where the files often get marked as read-only, which
prevents us from simply using something nice and simple like
`std::fs::remove_dir_all`, which properly deletes links instead of
following them.

So it looks like the fix is to use `.symlink_metadata()` to figure out
whether tree items are files/symlinks/directories.  The one corner case
this won't cover is if there is a broken symlink in the "root"
`build/$MYARCH` directory, because those initial entries are run through
`Path::canonicalize()`, which panics with broken symlinks.  So lets just
never use symlinks in that one directory. :-)

7 years agoRollup merge of #41011 - CleanCut:bootstrap-help, r=alexcrichton
Corey Farwell [Thu, 6 Apr 2017 03:51:40 +0000 (23:51 -0400)]
Rollup merge of #41011 - CleanCut:bootstrap-help, r=alexcrichton

Overhaul Bootstrap (x.py) Command-Line-Parsing & Help Output

While working on #40417, I got frustrated with the behavior of x.py and the bootstrap binary it wraps, so I decided to do something about it.  This PR should improve documentation, make the command-line-parsing more flexible, and clean up some of the internals.  No command that worked before should stop working.  At least that's the theory. :-)

This should resolve at least #40920 and #38373.

Changes:

- No more manual args manipulation -- getopts used everywhere except the one place it's not possible.  As a result, options can be in any position, now, even before the subcommand.
- The additional options for test, bench, and dist now appear in the help output.
- No more single-letter variable bindings used internally for large scopes.
- Don't output the time measurement when just invoking `x.py` or explicitly passing `-h` or `--help`
- Logic is now much more linear.  We build strings up, and then print them.
- Refer to subcommands as subcommands everywhere (some places we were saying "command")
- Other minor stuff.

@alexcrichton This is my first PR. Do I need to do something specific to request reviewers or anything?

7 years agoRollup merge of #40908 - dotdash:pers_lt, r=arielb1
Corey Farwell [Thu, 6 Apr 2017 03:51:39 +0000 (23:51 -0400)]
Rollup merge of #40908 - dotdash:pers_lt, r=arielb1

Emit proper lifetime start intrinsics for personality slots

We currently only emit a single call to the lifetime start intrinsic
for the personality slot alloca. This happens because we create that
call at the time that we create the alloca, instead of creating it each
time we start using it. Because LLVM usually removes the alloca before
the lifetime intrinsics are even considered, this didn't cause any
problems yet, but we should fix this anyway.

7 years agoAuto merge of #40805 - vadimcn:msys-mingw, r=alexcrichton
bors [Thu, 6 Apr 2017 03:42:31 +0000 (03:42 +0000)]
Auto merge of #40805 - vadimcn:msys-mingw, r=alexcrichton

[Windows] Enable building rustc with "pthreads" flavor of mingw.

Tested on mingw-w64 packaged with msys2.

r? @alexcrichton

cc #40123

7 years agodocument the implementation a bit more
Jorge Aparicio [Thu, 6 Apr 2017 02:11:22 +0000 (21:11 -0500)]
document the implementation a bit more

7 years agodon't test for the absence of BAR in the rmake test
Jorge Aparicio [Thu, 6 Apr 2017 02:06:53 +0000 (21:06 -0500)]
don't test for the absence of BAR in the rmake test

it's not related to this feature

7 years agocast the #[used] static to *i8
Jorge Aparicio [Thu, 6 Apr 2017 02:02:52 +0000 (21:02 -0500)]
cast the #[used] static to *i8

to match the type signature of the llvm.used variable

7 years agoAuto merge of #41098 - arielb1:rollup, r=arielb1
bors [Thu, 6 Apr 2017 01:00:15 +0000 (01:00 +0000)]
Auto merge of #41098 - arielb1:rollup, r=arielb1

Rollup of 12 pull requests

- Successful merges: #40479, #40561, #40709, #40815, #40909, #40927, #40943, #41015, #41028, #41052, #41054, #41065
- Failed merges:

7 years agoRollup merge of #41065 - jorendorff:slice-rsplit-41020, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:13 +0000 (23:01 +0000)]
Rollup merge of #41065 - jorendorff:slice-rsplit-41020, r=alexcrichton

[T]::rsplit() and rsplit_mut(), #41020

7 years agoRollup merge of #41054 - anatol:master, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:12 +0000 (23:01 +0000)]
Rollup merge of #41054 - anatol:master, r=alexcrichton

Replace magic number with readable sig constant

SIG_ERR is defined as 'pub const SIG_ERR: sighandler_t = !0 as sighandler_t;'

7 years agoRollup merge of #41052 - topecongiro:overlapping_inherent_impls, r=estebank
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:11 +0000 (23:01 +0000)]
Rollup merge of #41052 - topecongiro:overlapping_inherent_impls, r=estebank

Make 'overlapping_inherent_impls' lint a hard error

This is ought to be implemented in PR #40728. Unfortunately, when I rebased the PR to resolve merge conflict, the "hard error" code disappeared. This PR complements the initial PR.

Now the following rust code gives the following error:
```rust
struct Foo;

impl Foo {
    fn id() {}
}

impl Foo {
    fn id() {}
}

fn main() {}
```
```
error[E0592]: duplicate definitions with name `id`
 --> /home/topecongiro/test.rs:4:5
  |
4 |     fn id() {}
  |     ^^^^^^^^^^ duplicate definitions for `id`
...
8 |     fn id() {}
  |     ---------- other definition for `id`

error: aborting due to previous error
```

7 years agoRollup merge of #41028 - bluss:rev-rfind, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:10 +0000 (23:01 +0000)]
Rollup merge of #41028 - bluss:rev-rfind, r=alexcrichton

Let .rev()'s find use the underlying rfind and vice versa

- Connect the plumbing in an obvious way from Rev's find → underlying rfind and vice versa
- A style change in the provided implementation for Iterator::rfind, using simple next_back when it is enough

7 years agoRollup merge of #41015 - arielb1:new-block-stack, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:09 +0000 (23:01 +0000)]
Rollup merge of #41015 - arielb1:new-block-stack, r=alexcrichton

mark build::cfg::start_new_block as inline(never)

LLVM has a bug - [PR32488](https://bugs.llvm.org//show_bug.cgi?id=32488) - where it fails to deduplicate allocas in some
circumstances. The function `start_new_block` has allocas totalling 1216
bytes, and when LLVM inlines several copies of that function into
the recursive function `expr::into`, that function's stack space usage
goes into tens of kiBs, causing stack overflows.

Mark `start_new_block` as inline(never) to keep it from being inlined,
getting stack usage under control.

Fixes #40493.
Fixes #40573.

r? @eddyb

7 years agoRollup merge of #40943 - Amanieu:offset_to, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:08 +0000 (23:01 +0000)]
Rollup merge of #40943 - Amanieu:offset_to, r=alexcrichton

Add ptr::offset_to

This PR adds a method to calculate the signed distance (in number of elements) between two pointers. The resulting value can then be passed to `offset` to get one pointer from the other. This is similar to pointer subtraction in C/C++.

There are 2 special cases:

- If the distance is not a multiple of the element size then the result is rounded towards zero. (in C/C++ this is UB)
-  ZST return `None`, while normal types return `Some(isize)`. This forces the user to handle the ZST case in unsafe code. (C/C++ doesn't have ZSTs)

7 years agoRollup merge of #40927 - stjepang:docs-atomic-overflow-note, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:07 +0000 (23:01 +0000)]
Rollup merge of #40927 - stjepang:docs-atomic-overflow-note, r=alexcrichton

Add a note about overflow for fetch_add/fetch_sub

Fixes #40916
Fixes #34618

r? @steveklabnik

7 years agoRollup merge of #40909 - nagisa:fix-vec-placement, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:06 +0000 (23:01 +0000)]
Rollup merge of #40909 - nagisa:fix-vec-placement, r=alexcrichton

Allow using Vec::<T>::place_back for T: !Clone

The place_back was likely put into block with `T: Clone` bound by mistake.

7 years agoRollup merge of #40815 - estebank:issue-40006, r=GuillaumeGomez
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:06 +0000 (23:01 +0000)]
Rollup merge of #40815 - estebank:issue-40006, r=GuillaumeGomez

Identify missing item category in `impl`s

```rust
struct S;
impl S {
    pub hello_method(&self) {
        println!("Hello");
    }
}
fn main() { S.hello_method(); }
```

```rust
error: missing `fn` for method declaration
 --> file.rs:3:4
  |
3 |     pub hello_method(&self) {
  |        ^ missing `fn`
```

Fix #40006. r? @pnkfelix CC @jonathandturner @GuillaumeGomez

7 years agoRollup merge of #40709 - lifthrasiir:leaner-unicode-debug-str, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:05 +0000 (23:01 +0000)]
Rollup merge of #40709 - lifthrasiir:leaner-unicode-debug-str, r=alexcrichton

Reduce a table used for `Debug` impl of `str`.

This commit shrinks the size of the aforementioned table from 2,102 bytes to 1,197 bytes. This is achieved by an observation that most `u16` entries are common in its upper byte. Specifically:

- `SINGLETONS` now uses two tables, one for (upper byte, lower count) and another for a series of lower bytes. For each upper byte given number of lower bytes are read and compared.

- `NORMAL` now uses a variable length format for the count of "true" codepoints and "false" codepoints (one byte with MSB unset, or two big-endian bytes with the first MSB set).

The code size and relative performance roughly remains same as this commit tries to optimize for both. The new table and algorithm has been verified for the equivalence to older ones.

In my x86-64 macOS laptop with `rustc 1.17.0-nightly (0aeb9c129 2017-03-15)`, `-C opt-level=3 -C lto` gives the following:

* The old routine compiles to 2,102 bytes of data and 416 bytes of code.
* The new routine compiles to 1,197 bytes of data and 448 bytes of code.

Counting a number of all printable Unicode scalar values (128,003, if you wonder) by filtering `0..0x110000` with `std::char::from_u32` and `is_printable` took 50±7ms for both. This can be surprising as the new routine *has* to do more calculations; this is partly explained by the fact that a linear search of `SINGLETONS` has been replaced by *two* linear searches for upper and lower bytes, which greatly reduces the iteration count.

7 years agoRollup merge of #40561 - arthurprs:hm-adapt2, r=pczarn
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:04 +0000 (23:01 +0000)]
Rollup merge of #40561 - arthurprs:hm-adapt2, r=pczarn

Simplify HashMap Bucket interface

> Simplify HashMap Bucket interface
>
> * Store capacity_mask instead of capacity
> * Move bucket index into RawBucket
> * Valid bucket index is now always within [0..table_capacity)
> * Simplify iterators by moving logic into RawBuckets
> * Clone RawTable using RawBucket
> * Make retain aware of the number of elements

The idea was to put idx in RawBucket instead of the other Bucket types and simplify next() and prev() as much as possible. The rest was a side-effect of that change, except maybe the last 2.

This change makes iteration and other next/prev() heavy operations noticeably faster. Clone is way faster.

```
➜  hashmap2 git:(adapt) ✗ cargo benchcmp pre:: adp:: bench.txt
 name                        pre:: ns/iter  adp:: ns/iter  diff ns/iter   diff %
 clone_10_000                74,364         39,736              -34,628  -46.57%
 grow_100_000                8,343,553      8,233,785          -109,768   -1.32%
 grow_10_000                 817,825        723,958             -93,867  -11.48%
 grow_big_value_100_000      18,418,979     17,906,186         -512,793   -2.78%
 grow_big_value_10_000       1,219,242      1,103,334          -115,908   -9.51%
 insert_1000                 74,546         58,343              -16,203  -21.74%
 insert_100_000              6,743,770      6,238,017          -505,753   -7.50%
 insert_10_000               798,079        719,123             -78,956   -9.89%
 insert_1_000_000            275,215,605    266,975,875      -8,239,730   -2.99%
 insert_int_bigvalue_10_000  1,517,387      1,419,838           -97,549   -6.43%
 insert_str_10_000           316,179        278,896             -37,283  -11.79%
 insert_string_10_000        770,927        747,449             -23,478   -3.05%
 iter_keys_100_000           386,099        333,104             -52,995  -13.73%
 iterate_100_000             387,320        355,707             -31,613   -8.16%
 lookup_100_000              206,757        193,063             -13,694   -6.62%
 lookup_100_000_unif         219,366        193,180             -26,186  -11.94%
 lookup_1_000_000            206,456        205,716                -740   -0.36%
 lookup_1_000_000_unif       659,934        629,659             -30,275   -4.59%
 lru_sim                     20,194,334     18,442,149       -1,752,185   -8.68%
 merge_shuffle               1,168,044      1,063,055          -104,989   -8.99%
```

Note 2: I may have messed up porting the diff, let's see what CI says.

7 years agoRollup merge of #40479 - sezaru:master, r=alexcrichton
Ariel Ben-Yehuda [Wed, 5 Apr 2017 23:01:03 +0000 (23:01 +0000)]
Rollup merge of #40479 - sezaru:master, r=alexcrichton

Fixes other targets rustlibs installation

When the user select more than one target to generate rustlibs for, rustbuild will only install the host one.

This patch fixes it, more info in https://github.com/rust-lang/rust/issues/39235#issuecomment-285878858

7 years agoAuto merge of #40348 - nrc:save-extern-fn, r=eddyb
bors [Wed, 5 Apr 2017 20:06:00 +0000 (20:06 +0000)]
Auto merge of #40348 - nrc:save-extern-fn, r=eddyb

Handle extern functions and statics in save-analysis

r? @eddyb

7 years agoAdd safe wrapper for atomic_singlethreadfence_*
Jon Gjengset [Wed, 5 Apr 2017 19:33:24 +0000 (15:33 -0400)]
Add safe wrapper for atomic_singlethreadfence_*

7 years agofix location of the emitted object file
Jorge Aparicio [Mon, 6 Mar 2017 16:18:56 +0000 (11:18 -0500)]
fix location of the emitted object file

7 years agoadd tracking issue and feature-gate and run-make tests
Jorge Aparicio [Mon, 6 Mar 2017 04:03:42 +0000 (23:03 -0500)]
add tracking issue and feature-gate and run-make tests

7 years agoAdd example to std::process::abort
raph [Wed, 5 Apr 2017 18:41:43 +0000 (20:41 +0200)]
Add example to std::process::abort

This is a second (2/3?) step in order to complete this issue: https://github.com/rust-lang/rust/issues/29370
I submitted this PR with the help of @steveklabnik again. Thanks to him! More info here: https://github.com/rust-lang/rust/issues/29370#issuecomment-290653877

7 years agoadd an #[used] attribute
Jorge Aparicio [Mon, 20 Feb 2017 19:42:47 +0000 (14:42 -0500)]
add an #[used] attribute

similar to GCC's __attribute((used))__. This attribute prevents LLVM from
optimizing away a non-exported symbol, within a compilation unit (object file),
when there are no references to it.

This is better explained with an example:

```
#[used]
static LIVE: i32 = 0;

static REFERENCED: i32 = 0;

static DEAD: i32 = 0;

fn internal() {}

pub fn exported() -> &'static i32 {
    &REFERENCED
}
```

Without optimizations, LLVM pretty much preserves all the static variables and
functions within the compilation unit.

```
$ rustc --crate-type=lib --emit=obj symbols.rs && nm -C symbols.o
0000000000000000 t drop::h1be0f8f27a2ba94a
0000000000000000 r symbols::REFERENCED::hb3bdfd46050bc84c
0000000000000000 r symbols::DEAD::hc2ea8f9bd06f380b
0000000000000000 r symbols::LIVE::h0970cf9889edb56e
0000000000000000 T symbols::exported::h6f096c2b1fc292b2
0000000000000000 t symbols::internal::h0ac1aadbc1e3a494
```

With optimizations, LLVM will drop dead code. Here `internal` is dropped because
it's not a exported function/symbol (i.e. not `pub`lic). `DEAD` is dropped for
the same reason. `REFERENCED` is preserved, even though it's not exported,
because it's referenced by the `exported` function. Finally, `LIVE` survives
because of the `#[used]` attribute even though it's not exported or referenced.

```
$ rustc --crate-type=lib -C opt-level=3 --emit=obj symbols.rs && nm -C symbols.o
0000000000000000 r symbols::REFERENCED::hb3bdfd46050bc84c
0000000000000000 r symbols::LIVE::h0970cf9889edb56e
0000000000000000 T symbols::exported::h6f096c2b1fc292b2
```

Note that the linker knows nothing about `#[used]` and will drop `LIVE`
because no other object references to it.

```
$ echo 'fn main() {}' >> symbols.rs
$ rustc symbols.rs && nm -C symbols | grep LIVE
```

At this time, `#[used]` only works on `static` variables.

7 years agotravis: Update musl for i686/x86_64
Alex Crichton [Wed, 5 Apr 2017 17:39:02 +0000 (10:39 -0700)]
travis: Update musl for i686/x86_64

This is a random stab towards #38618, no idea if it'll work. But hey more
up-to-date software is better, right?

7 years agoUse proper span for tuple index parsed as float
Esteban Küber [Wed, 5 Apr 2017 16:50:04 +0000 (09:50 -0700)]
Use proper span for tuple index parsed as float

Fix diagnostic suggestion from:

```rust
help: try parenthesizing the first index
  |     (1, (2, 3)).((1, (2, 3)).1).1;
```

to the correct:

```rust
help: try parenthesizing the first index
  |     ((1, (2, 3)).1).1;
```

7 years agoAuto merge of #41086 - frewsxcv:rollup, r=frewsxcv
bors [Wed, 5 Apr 2017 16:47:45 +0000 (16:47 +0000)]
Auto merge of #41086 - frewsxcv:rollup, r=frewsxcv

Rollup of 19 pull requests

- Successful merges: #40608, #40870, #40949, #40977, #40981, #40988, #40992, #40997, #40999, #41007, #41014, #41019, #41035, #41043, #41049, #41062, #41066, #41076, #41085
- Failed merges:

7 years agoRollup merge of #41085 - nagisa:fix-output-properg, r=alexcrichton
Corey Farwell [Wed, 5 Apr 2017 16:44:40 +0000 (12:44 -0400)]
Rollup merge of #41085 - nagisa:fix-output-properg, r=alexcrichton

Properly adjust filenames when multiple emissions

Fixes #40993

Should backport just fine to beta but not sure if we want to do this since this is quite old stable regression.

7 years agoRollup merge of #41076 - alexcrichton:update-sccache, r=frewsxcv
Corey Farwell [Wed, 5 Apr 2017 16:44:39 +0000 (12:44 -0400)]
Rollup merge of #41076 - alexcrichton:update-sccache, r=frewsxcv

travis: Update sccache binaries

I've tracked down what I believe is the last spurious sccache failure on #40240
to behavior in mio (carllerche/mio#583), and this commit updates the binaries to
a version which has that fix incorporated.

7 years agoRollup merge of #41066 - steveklabnik:fix-links, r=frewsxcv
Corey Farwell [Wed, 5 Apr 2017 16:44:38 +0000 (12:44 -0400)]
Rollup merge of #41066 - steveklabnik:fix-links, r=frewsxcv

Fix links

part of https://github.com/rust-lang/rust/issues/40912

[]\n() is not actually a link.

r? @frewsxcv @GuillaumeGomez

7 years agoRollup merge of #41062 - estebank:private-field, r=arielb1
Corey Farwell [Wed, 5 Apr 2017 16:44:38 +0000 (12:44 -0400)]
Rollup merge of #41062 - estebank:private-field, r=arielb1

Do not recommend private fields called as method

```rust
error: no method named `dog_age` found for type `animal::Dog` in the current scope
  --> $DIR/private-field.rs:26:23
   |
26 |     let dog_age = dog.dog_age();
   |                       ^^^^^^^ private field, not a method
```
Fix #27654.

7 years agoRollup merge of #41049 - GuillaumeGomez:rustdoc-ordered-list, r=frewsxcv
Corey Farwell [Wed, 5 Apr 2017 16:44:36 +0000 (12:44 -0400)]
Rollup merge of #41049 - GuillaumeGomez:rustdoc-ordered-list, r=frewsxcv

Handle ordered lists as well

Part of #40912.

r? @rust-lang/docs

7 years agoRollup merge of #41043 - GuillaumeGomez:sup_balise, r=steveklabnik
Corey Farwell [Wed, 5 Apr 2017 16:44:36 +0000 (12:44 -0400)]
Rollup merge of #41043 - GuillaumeGomez:sup_balise, r=steveklabnik

Replace ^ with <sup> html balise

r? @steveklabnik