]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoRollup merge of #42734 - MaloJaffre:tests, r=Mark-Simulacrum
Mark Simulacrum [Sun, 18 Jun 2017 16:34:14 +0000 (10:34 -0600)]
Rollup merge of #42734 - MaloJaffre:tests, r=Mark-Simulacrum

Add tests for various issues

Fixes #11740.
Fixes #19601.
Fixes #22603
Fixes #22789.
Fixes #26614.

r? @Mark-Simulacrum.

7 years agoRollup merge of #42731 - MaloJaffre:issue-24889, r=Mark-Simulacrum
Mark Simulacrum [Sun, 18 Jun 2017 16:34:13 +0000 (10:34 -0600)]
Rollup merge of #42731 - MaloJaffre:issue-24889, r=Mark-Simulacrum

Add test for #24889

Fixes #24889.
r? @Mark-Simulacrum (Thanks for the instructions).

7 years agoRollup merge of #42730 - VBChunguk:boxed-wild-pattern, r=eddyb
Mark Simulacrum [Sun, 18 Jun 2017 16:34:12 +0000 (10:34 -0600)]
Rollup merge of #42730 - VBChunguk:boxed-wild-pattern, r=eddyb

Use T as the subpattern type of Box<T>

The subpattern type of boxes being nil does not make sense because of box patterns. They should have their inner type as the subpattern type.

Fixes #42679, which describes ICE caused by the bug.

7 years agoRollup merge of #42723 - ubsan:master, r=QuietMisdreavus
Mark Simulacrum [Sun, 18 Jun 2017 16:34:11 +0000 (10:34 -0600)]
Rollup merge of #42723 - ubsan:master, r=QuietMisdreavus

Add `_` to the list of keywords

also, make sure the keyword table is correctly spaced

note: the reference also needs to be updated. This is not the only way to do this in the grammar, but it's my preferred way.

7 years agoRollup merge of #42720 - murarth:deprecated-collections, r=alexcrichton
Mark Simulacrum [Sun, 18 Jun 2017 16:34:10 +0000 (10:34 -0600)]
Rollup merge of #42720 - murarth:deprecated-collections, r=alexcrichton

Reintroduce deprecated `collections` crate

7 years agoRollup merge of #42714 - alexbool:master, r=alexcrichton
Mark Simulacrum [Sun, 18 Jun 2017 16:34:09 +0000 (10:34 -0600)]
Rollup merge of #42714 - alexbool:master, r=alexcrichton

Inline StrSearcher::haystack()

7 years agoRollup merge of #42695 - Mark-Simulacrum:fix-verbose, r=alexcrichton
Mark Simulacrum [Sun, 18 Jun 2017 16:34:08 +0000 (10:34 -0600)]
Rollup merge of #42695 - Mark-Simulacrum:fix-verbose, r=alexcrichton

Use custom cargo/rustc paths when parsing flags.

Fixes https://github.com/rust-lang/rust/issues/41779, probably also https://github.com/rust-lang/rust/issues/42543 (I think they're duplicates).

I'm not entirely happy with the implementation, since it means we parse the configuration twice, but it's the minimal solution. I think the other choice is to move both calls to Config::parse inside Flags::parse and merge them, but I don't know if that's a good idea.

r? @alexcrichton

7 years agoAdd tests for various issues
Malo Jaffré [Sun, 18 Jun 2017 16:18:08 +0000 (18:18 +0200)]
Add tests for various issues

Fixes #11740.
Fixes #19601.
Fixes #22603
Fixes #22789.
Fixes #26614.

r? @Mark-Simulacrum.

7 years agoAdd test for #24889
Malo Jaffré [Sun, 18 Jun 2017 12:30:33 +0000 (14:30 +0200)]
Add test for #24889

Fixes #24889.
r? @Mark-Simulacrum.

7 years agoAuto merge of #42593 - ibabushkin:on-demand-external-source, r=eddyb
bors [Sun, 18 Jun 2017 10:41:05 +0000 (10:41 +0000)]
Auto merge of #42593 - ibabushkin:on-demand-external-source, r=eddyb

Implement lazy loading of external crates' sources. Fixes #38875

Fixes #38875. This is a follow-up to #42507. When a (now correctly translated) span from an external crate is referenced in a error, warning or info message, we still don't have the source code being referenced.
Since stuffing the source in the serialized metadata of an rlib is extremely wasteful, the following scheme has been implemented:

* File maps now contain a source hash that gets serialized as well.
* When a span is rendered in a message, the source hash in the corresponding file map(s) is used to try and load the source from the corresponding file on disk. If the file is not found or the hashes don't match, the failed attempt is recorded (and not retried).
* The machinery fetching source lines from file maps is augmented to use the lazily loaded external source as a secondary fallback for file maps belonging to external crates.

This required a small change to the expected stderr of one UI test (it now renders a span, where previously was none).

Further work can be done based on this - some of the machinery previously used to hide external spans is possibly obsolete and the hashing code can be reused in different places as well.

r? @eddyb

7 years agoUse T as the subpattern type of Box<T>
Wonwoo Choi [Sun, 18 Jun 2017 07:07:26 +0000 (16:07 +0900)]
Use T as the subpattern type of Box<T>

The subpattern type of boxes being nil does not make sense because of
box patterns. They should have their inner type as the subpattern type.

7 years agoReintroduce deprecated `collections` crate
Murarth [Sat, 17 Jun 2017 19:01:18 +0000 (12:01 -0700)]
Reintroduce deprecated `collections` crate

7 years agoAdd `_` to the list of keywords
ubsan [Sat, 17 Jun 2017 20:14:26 +0000 (13:14 -0700)]
Add `_` to the list of keywords

also, make sure the keyword table is correctly spaced

7 years agoAuto merge of #42649 - estebank:if-cond, r=nikomatsakis
bors [Sat, 17 Jun 2017 16:54:07 +0000 (16:54 +0000)]
Auto merge of #42649 - estebank:if-cond, r=nikomatsakis

Report error for assignment in `if` condition

For code like `if x = 3 {}`, output:

```
error[E0308]: mismatched types
  --> $DIR/issue-17283.rs:25:8
   |
25 |     if x = x {
   |        ^^^^^
   |        |
   |        help: did you mean to compare equality? `x == x`
   |        expected bool, found ()
   |
   = note: expected type `bool`
              found type `()`
```

Fix #40926.

7 years agoAuto merge of #42659 - nikomatsakis:issue-42545-type-inference-regression, r=eddyb
bors [Sat, 17 Jun 2017 11:22:08 +0000 (11:22 +0000)]
Auto merge of #42659 - nikomatsakis:issue-42545-type-inference-regression, r=eddyb

Issue 42545 type inference regression

Fix an ICE that results from type inference obligations being dropped on the floor. Specifically, when computing the implied bounds, we would sometimes do normalizations that get stored in the cache, but we would *not* try to solve the resulting obligations. This can sometimes leave type variables uninferred. Occurs only rarely because implied bounds are processed in regionck which happens very late, so usually the cache is populated already from somewhere else.

I think that the *proper* fix here is probably lazy normalization. This fix is intentionally very narrow both because this code is on the chopping block and because this needs a beta backport.

r? @eddyb
cc @arielb1

7 years agoInline StrSearcher::haystack()
Alexander Bulaev [Sat, 17 Jun 2017 10:51:36 +0000 (13:51 +0300)]
Inline StrSearcher::haystack()

7 years agoregister the obligations from `wf::implied_bounds`
Niko Matsakis [Wed, 14 Jun 2017 18:25:41 +0000 (14:25 -0400)]
register the obligations from `wf::implied_bounds`

Fixes #42552.
Fixes #42545.

7 years agomove `implied_bounds` into regionck
Niko Matsakis [Wed, 14 Jun 2017 16:46:14 +0000 (12:46 -0400)]
move `implied_bounds` into regionck

7 years agoAuto merge of #42712 - frewsxcv:rollup, r=frewsxcv
bors [Sat, 17 Jun 2017 06:47:54 +0000 (06:47 +0000)]
Auto merge of #42712 - frewsxcv:rollup, r=frewsxcv

Rollup of 3 pull requests

- Successful merges: #42660, #42662, #42705
- Failed merges:

7 years agoRollup merge of #42705 - est31:master, r=alexcrichton
Corey Farwell [Sat, 17 Jun 2017 06:10:50 +0000 (23:10 -0700)]
Rollup merge of #42705 - est31:master, r=alexcrichton

Introduce tidy lint to check for inconsistent tracking issues

This PR
* Refactors the collect_lib_features function to work in a
      non-checking mode (no bad pointer needed, and list of
      lang features).
* Introduces checking whether unstable/stable tags for a
      given feature have inconsistent tracking issues, as in,
      multiple tracking issues per feature.
* Fixes such inconsistencies throughout the codebase.

7 years agoRollup merge of #42662 - Mark-Simulacrum:doc-fix, r=estebank
Corey Farwell [Sat, 17 Jun 2017 06:10:49 +0000 (23:10 -0700)]
Rollup merge of #42662 - Mark-Simulacrum:doc-fix, r=estebank

Correct note as to location of section.

Fixes #37226.

7 years agoRollup merge of #42660 - steveklabnik:gh42632, r=frewsxcv
Corey Farwell [Sat, 17 Jun 2017 06:10:48 +0000 (23:10 -0700)]
Rollup merge of #42660 - steveklabnik:gh42632, r=frewsxcv

update book with redirect fixes

Fixes #42632

7 years agoAuto merge of #42650 - nrc:save-slim, r=eddyb
bors [Sat, 17 Jun 2017 04:36:02 +0000 (04:36 +0000)]
Auto merge of #42650 - nrc:save-slim, r=eddyb

save-analysis: remove a lot of stuff

This commits us to the JSON format and the more general def/ref style of output, rather than also supporting different data formats for different data structures. This does not affect the RLS at all, but will break any clients of the CSV form - AFAIK there are none (beyond a few of my own toy projects) - DXR stopped working long ago.

r? @eddyb

7 years agoAuto merge of #42613 - stepancheg:lossy, r=alexcrichton
bors [Sat, 17 Jun 2017 02:21:38 +0000 (02:21 +0000)]
Auto merge of #42613 - stepancheg:lossy, r=alexcrichton

Avoid allocations in Display for OsStr and Path

#38879

7 years agoAuto merge of #42604 - stepancheg:timedwait, r=alexcrichton
bors [Sat, 17 Jun 2017 00:05:50 +0000 (00:05 +0000)]
Auto merge of #42604 - stepancheg:timedwait, r=alexcrichton

Fix condvar.wait(distant future) return immediately on OSX

Fixes issue #37440: `pthread_cond_timedwait` on macOS Sierra seems
to overflow `ts_sec` parameter and returns immediately. To work
around this problem patch rounds timeout down to year 3000.

Patch also fixes overflow when converting `u64` to `time_t`.

7 years agoAuto merge of #42598 - cramertj:track-more-metadata, r=nikomatsakis
bors [Fri, 16 Jun 2017 21:42:17 +0000 (21:42 +0000)]
Auto merge of #42598 - cramertj:track-more-metadata, r=nikomatsakis

Track more crate metadata

Part of https://github.com/rust-lang/rust/issues/41417
r? @nikomatsakis

7 years agoReview comments
Esteban Küber [Fri, 16 Jun 2017 17:34:17 +0000 (10:34 -0700)]
Review comments

- exhaustive match
- rename method to `check_expr_meets_expectation_or_error`
- formatting
- add `delay_span_bug`
- add test

7 years agoIntroduce tidy lint to check for inconsistent tracking issues
est31 [Fri, 16 Jun 2017 17:58:37 +0000 (19:58 +0200)]
Introduce tidy lint to check for inconsistent tracking issues

This commit
    * Refactors the collect_lib_features function to work in a
      non-checking mode (no bad pointer needed, and list of
      lang features).
    * Introduces checking whether unstable/stable tags for a
      given feature have inconsistent tracking issues.
    * Fixes such inconsistencies throughout the codebase.

7 years agoAuto merge of #42430 - nagisa:core-float, r=alexcrichton
bors [Fri, 16 Jun 2017 17:52:11 +0000 (17:52 +0000)]
Auto merge of #42430 - nagisa:core-float, r=alexcrichton

Re-implement float min/max in rust

This also adds the relevant implementations into libcore.

See #42423

7 years agoAuto merge of #42612 - est31:master, r=nagisa
bors [Fri, 16 Jun 2017 14:41:15 +0000 (14:41 +0000)]
Auto merge of #42612 - est31:master, r=nagisa

Autogenerate stubs and SUMMARY.md in the unstable book

Removes a speed bump in compiler development by autogenerating stubs for features in the unstable book. See #42454 for discussion.

The PR contains three commits, separated in order to make review easy:

* The first commit converts the tidy tool from a binary crate to a crate that contains both a library and a binary. In the second commit, we'll use the tidy library
* The second and main commit introduces autogeneration of SUMMARY.md and feature stub files
* The third commit turns off the tidy lint that checks for features without a stub, and removes the stub files. A separate commit due to the large number of files touched

Members of the doc team who wish to document some features can either do this (where `$rustsrc` is the root of the rust repo git checkout):

1. cd to `$rustsrc/src/tools/unstable-book-gen` and then do `cargo run $rustsrc/src $rustsrc/src/doc/unstable-book` to put the stubs into the unstable book
2. cd to `$rustsrc` and run `git ls-files --others --exclude-standard` to list the newly added stubs
3. choose a file to edit, then `git add` it and `git commit`
4. afterwards, remove all changes by the tool by doing `git --reset hard` and `git clean -f`

Or they can do this:

1. remove the comment marker in `src/tools/tidy/src/unstable_book.rs` line 122
2. run `./x.py test src/tools/tidy` to list the unstable features which only have stubs
3. revert the change in 1
3. document one of the chosen unstable features

The changes done by this PR also allow for further development:

* tidy obtains information about tracking issues. We can now forbid differing tracking issues between differing `#![unstable]` annotations. I haven't done this but plan to in a future PR
* we now have a general framework for generating stuff for the unstable book at build time. Further changes can autogenerate a list of the API a given library feature exposes.

The old way to simply click through the documentation after it has been uploaded to rust-lang.org works as well.

r? @nagisa

Fixes #42454

7 years agoUse custom cargo/rustc paths when parsing flags.
Mark Simulacrum [Fri, 16 Jun 2017 13:44:09 +0000 (07:44 -0600)]
Use custom cargo/rustc paths when parsing flags.

7 years agoFix cross compilation
est31 [Wed, 14 Jun 2017 16:49:41 +0000 (18:49 +0200)]
Fix cross compilation

7 years agoAuto merge of #42410 - nagisa:llvmup, r=sanxiyn
bors [Fri, 16 Jun 2017 12:18:45 +0000 (12:18 +0000)]
Auto merge of #42410 - nagisa:llvmup, r=sanxiyn

Upgrade LLVM

Includes https://github.com/rust-lang/llvm/pull/80

7 years agoAuto merge of #41840 - arielb1:deduplicate-selection-errors, r=nikomatsakis
bors [Fri, 16 Jun 2017 10:07:58 +0000 (10:07 +0000)]
Auto merge of #41840 - arielb1:deduplicate-selection-errors, r=nikomatsakis

Suppress trait errors that are implied by other errors

this is currently a hack and should be cleaned up somewhat. Posting this to get some feedback.

r? @nikomatsakis
cc @estebank

7 years agoAuto merge of #42631 - malbarbo:wasm32, r=alexcrichton
bors [Fri, 16 Jun 2017 07:54:59 +0000 (07:54 +0000)]
Auto merge of #42631 - malbarbo:wasm32, r=alexcrichton

Add a travis builder for wasm32-unknown-emscripten

This commits add an entry to travis matrix that will execute wasm32-unknown-emscripten tests suites.

- Emscripten for asmjs was updated to sdk-1.37.13-64bit
- The tests are run with node 8.0.0 (it can execute wasm)
- A wrapper script is used to run each test from the directory where it is (workaround for https://github.com/kripken/emscripten/issues/4542)
- Some tests are ignore, see #42629 and #42630

7 years agoAuto merge of #42690 - frewsxcv:rollup, r=frewsxcv
bors [Fri, 16 Jun 2017 05:43:38 +0000 (05:43 +0000)]
Auto merge of #42690 - frewsxcv:rollup, r=frewsxcv

Rollup of 5 pull requests

- Successful merges: #42616, #42651, #42654, #42656, #42685
- Failed merges:

7 years agoDivide up metadata into separate DepNodes
Taylor Cramer [Fri, 16 Jun 2017 05:25:41 +0000 (22:25 -0700)]
Divide up metadata into separate DepNodes

7 years agoRollup merge of #42685 - Havvy:doc-remove-sometimes, r=steveklabnik
Corey Farwell [Fri, 16 Jun 2017 04:32:46 +0000 (00:32 -0400)]
Rollup merge of #42685 - Havvy:doc-remove-sometimes, r=steveklabnik

Remove sometimes in std::io::Read doc

We use it immediately in the next sentence, and the word is filler.

A different conversation to make is whether we want to call them Readers in the documentation at all. And whether it's actually called "Readers" elsewhere.

7 years agoRollup merge of #42656 - VBChunguk:struct-field-attributes, r=nikomatsakis
Corey Farwell [Fri, 16 Jun 2017 04:32:45 +0000 (00:32 -0400)]
Rollup merge of #42656 - VBChunguk:struct-field-attributes, r=nikomatsakis

Remove struct_field_attributes feature gate

Part of #41681. ~This PR only removes the feature gate; this *does not* update any documentations.~ This PR removes the feature gate and the corresponding chapter of the Unstable Book.

I'm not very sure about the changes I made though... Just followed the stabilization guideline.

r? @nikomatsakis

7 years agoRollup merge of #42654 - GuillaumeGomez:error-codes-new, r=QuietMisdreavus
Corey Farwell [Fri, 16 Jun 2017 04:32:44 +0000 (00:32 -0400)]
Rollup merge of #42654 - GuillaumeGomez:error-codes-new, r=QuietMisdreavus

Error codes new

Part of #42229.

cc @Susurrus @frewsxcv @QuietMisdreavus

7 years agoRollup merge of #42651 - infinity0:master, r=alexcrichton
Corey Farwell [Fri, 16 Jun 2017 04:32:43 +0000 (00:32 -0400)]
Rollup merge of #42651 - infinity0:master, r=alexcrichton

Only run check-linkchecker when actually building docs

Otherwise the build fails, when running tests but not building docs, e.g.:
https://buildd.debian.org/status/fetch.php?pkg=rustc&arch=ppc64el&ver=1.17.0%2Bdfsg2-3&stamp=1497403375&raw=0

7 years agoRollup merge of #42616 - estebank:span-fix, r=nikomatsakis
Corey Farwell [Fri, 16 Jun 2017 04:32:42 +0000 (00:32 -0400)]
Rollup merge of #42616 - estebank:span-fix, r=nikomatsakis

Position span label correctly when it isn't last

Fix #42595.

Before:

```
15 |     map.entry("e").or_insert(0) += 1;
   |     ---------------------------^^^^^ot use `+=` on type `&mut {integer}`
```

After:

```
15 |     map.entry("e").or_insert(0) += 1;
   |     ---------------------------^^^^^
   |     |
   |     cannot use `+=` on type `&mut {integer}`
```

7 years agoAuto merge of #42578 - estebank:recover-binop, r=nikomatsakis
bors [Fri, 16 Jun 2017 03:31:09 +0000 (03:31 +0000)]
Auto merge of #42578 - estebank:recover-binop, r=nikomatsakis

Learn to parse `a as usize < b`

Parsing `a as usize > b` always works, but `a as usize < b` was a
parsing error because the parser would think the `<` started a generic
type argument for `usize`. The parser now attempts to parse as before,
and if a DiagnosticError is returned, try to parse again as a type with
no generic arguments. If this fails, return the original
`DiagnosticError`.

Fix #22644.

7 years agoRemove intermediate forms and some other refactoring
Nick Cameron [Thu, 8 Jun 2017 02:45:15 +0000 (14:45 +1200)]
Remove intermediate forms and some other refactoring

7 years agoAuto merge of #42568 - GuillaumeGomez:E0608, r=QuietMisdreavus
bors [Fri, 16 Jun 2017 00:40:05 +0000 (00:40 +0000)]
Auto merge of #42568 - GuillaumeGomez:E0608, r=QuietMisdreavus

E0608

Part of #42229.

cc @Susurrus

7 years agoFix condvar.wait(distant future) return immediately on OSX
Stepan Koltsov [Mon, 12 Jun 2017 14:19:40 +0000 (17:19 +0300)]
Fix condvar.wait(distant future) return immediately on OSX

Fixes issue #37440: `pthread_cond_timedwait` on macOS Sierra seems
to overflow `ts_sec` parameter and returns immediately. To work
around this problem patch rounds timeout down to approximately 1000
years.

Patch also fixes overflow when converting `u64` to `time_t`.

7 years agoAvoid allocations in Debug for os_str
Stepan Koltsov [Mon, 12 Jun 2017 19:21:53 +0000 (22:21 +0300)]
Avoid allocations in Debug for os_str

Fixes #38879

7 years agoUtf8Lossy type with chunks iterator and impl Display and Debug
Stepan Koltsov [Mon, 12 Jun 2017 17:07:54 +0000 (20:07 +0300)]
Utf8Lossy type with chunks iterator and impl Display and Debug

7 years agoPosition span label correctly when it isn't last
Esteban Küber [Mon, 12 Jun 2017 22:54:04 +0000 (15:54 -0700)]
Position span label correctly when it isn't last

7 years agoAdd a no-system-llvm compilecheck header
Simonas Kazlauskas [Thu, 8 Jun 2017 14:18:05 +0000 (17:18 +0300)]
Add a no-system-llvm compilecheck header

7 years agoReview comments
Esteban Küber [Thu, 15 Jun 2017 03:42:24 +0000 (20:42 -0700)]
Review comments

- generate error instead of warning
- remove `RewindPoint` and just keep a copy of `Parser` to rewind state.
- `dont_parse_generics: bool` -> `parse_generics: bool`
- remove `eat_lt`
- move error handling code to separate method

7 years agoAuto merge of #42648 - murarth:merge-alloc-collections, r=alexcrichton
bors [Thu, 15 Jun 2017 12:37:54 +0000 (12:37 +0000)]
Auto merge of #42648 - murarth:merge-alloc-collections, r=alexcrichton

Merge crate `collections` into `alloc`

This is a necessary step in order to merge #42565

7 years agoAdd E0618
Guillaume Gomez [Wed, 14 Jun 2017 16:15:13 +0000 (18:15 +0200)]
Add E0618

7 years agoOnly run check-linkchecker when actually building docs
Ximin Luo [Thu, 15 Jun 2017 11:25:15 +0000 (13:25 +0200)]
Only run check-linkchecker when actually building docs

Otherwise the build fails, when running tests but not building docs, e.g.:
https://buildd.debian.org/status/fetch.php?pkg=rustc&arch=ppc64el&ver=1.17.0%2Bdfsg2-3&stamp=1497403375&raw=0

7 years agoEnsure that disable-doc builds don't depend on doc targets
Ximin Luo [Thu, 15 Jun 2017 11:24:08 +0000 (13:24 +0200)]
Ensure that disable-doc builds don't depend on doc targets

7 years agoAuto merge of #42623 - VBChunguk:fix-older-urls, r=steveklabnik
bors [Thu, 15 Jun 2017 09:52:11 +0000 (09:52 +0000)]
Auto merge of #42623 - VBChunguk:fix-older-urls, r=steveklabnik

Update older URLs pointing to the first edition of the Book

Fixes #42589.

7 years agoUse new macro instead
Guillaume Gomez [Mon, 12 Jun 2017 17:02:09 +0000 (19:02 +0200)]
Use new macro instead

7 years agoAuto merge of #42625 - michaelwoerister:dep-node-debug, r=nikomatsakis
bors [Thu, 15 Jun 2017 06:52:42 +0000 (06:52 +0000)]
Auto merge of #42625 - michaelwoerister:dep-node-debug, r=nikomatsakis

incr.comp.: Make DepNode's std::fmt::Debug implementation useful again.

With #42537 a regular `DepNode` only contains an opaque hash as its identifier. In most cases, this hash is actually a `DefPathHash` and we can reconstruct the `DefId` it came from via a table lookup --- and then use that to print something intelligible for debug outputs. For cases where we cannot reconstruct information from the DepNode's hash, this PR will cache a string representation of the `DepNode` in a side-table. This string is later used for debug outputs.

r? @nikomatsakis

7 years agoSwitch CrateNum queries to DefId
Taylor Cramer [Thu, 15 Jun 2017 05:49:07 +0000 (22:49 -0700)]
Switch CrateNum queries to DefId

7 years agoReport error for assignment in `if` condition
Esteban Küber [Tue, 13 Jun 2017 23:26:20 +0000 (16:26 -0700)]
Report error for assignment in `if` condition

For code like `if x = 3 {}`, output:

```
error[E0308]: mismatched types
  --> $DIR/issue-17283.rs:25:8
   |
25 |     if x = x {
   |        ^^^^^
   |        |
   |        help: did you mean to compare equality? `x == x`
   |        expected bool, found ()
   |
   = note: expected type `bool`
              found type `()`
```

7 years agoAuto merge of #42665 - aidanhs:aphs-simplify-init-repos, r=Mark-Simulacrum
bors [Thu, 15 Jun 2017 02:17:07 +0000 (02:17 +0000)]
Auto merge of #42665 - aidanhs:aphs-simplify-init-repos, r=Mark-Simulacrum

Use --depth to speed up pristine submodule cloning

In addition, remove all the unused cache stuff

r? @Mark-Simulacrum

7 years agoRemove struct_field_attributes from the Unstable Book
Wonwoo Choi [Thu, 15 Jun 2017 02:16:54 +0000 (11:16 +0900)]
Remove struct_field_attributes from the Unstable Book

7 years agoUse --depth to speed up pristine submodule cloning
Aidan Hobson Sayers [Wed, 14 Jun 2017 23:19:21 +0000 (00:19 +0100)]
Use --depth to speed up pristine submodule cloning

In addition, remove all the unused cache stuff

7 years agoRemove some more stubs
est31 [Wed, 14 Jun 2017 22:19:42 +0000 (00:19 +0200)]
Remove some more stubs

7 years agoCorrect note as to location of section.
Mark Simulacrum [Wed, 14 Jun 2017 20:38:51 +0000 (14:38 -0600)]
Correct note as to location of section.

7 years agosuppress trait errors that are implied by other errors
Ariel Ben-Yehuda [Mon, 8 May 2017 16:45:27 +0000 (19:45 +0300)]
suppress trait errors that are implied by other errors

Instead of suppressing only trait errors that are "exact duplicates",
display only the "most high-level" error when there are multiple trait
errors with the same span that imply each-other.

e.g. when there are both `[closure]: Fn` and `[closure]: FnOnce`, omit
displaying the `[closure]: FnOnce` bound.

7 years agoupdate book with redirect fixes
steveklabnik [Wed, 14 Jun 2017 19:48:43 +0000 (15:48 -0400)]
update book with redirect fixes

Fixes #42632

7 years agoRe-implement float min/max in rust
Simonas Kazlauskas [Sun, 4 Jun 2017 18:39:00 +0000 (21:39 +0300)]
Re-implement float min/max in rust

See #42423

7 years agoRemove struct_field_attributes feature gate
Wonwoo Choi [Wed, 14 Jun 2017 04:03:48 +0000 (13:03 +0900)]
Remove struct_field_attributes feature gate

7 years agoUpdate older URLs pointing to the first edition of the Book
Wonwoo Choi [Mon, 12 Jun 2017 16:30:08 +0000 (01:30 +0900)]
Update older URLs pointing to the first edition of the Book

`compiler-plugins.html` is moved into the Unstable Book.
Explanation is slightly modified to match the change.

7 years agoAuto merge of #42523 - clarcharr:refactor_ops, r=brson
bors [Wed, 14 Jun 2017 11:17:31 +0000 (11:17 +0000)]
Auto merge of #42523 - clarcharr:refactor_ops, r=brson

Refactor ops.rs

This refactors ops.rs into several different modules internally, as the file has gotten quite big. None of these modules are actually exported, but this should make maintaining it much easier. I've avoided the ambition of exporting the modules because they can more easily be rearranged after this commit goes through, even though it'd be cool to potentially export the modules in the future.

I've separated the creation of each file into a separate commit so that this is easier to read.

Redone version of #42269 with the movement of `RangeArgument` moved.

7 years agoAuto merge of #42433 - marco-c:profiling, r=alexcrichton
bors [Wed, 14 Jun 2017 08:46:14 +0000 (08:46 +0000)]
Auto merge of #42433 - marco-c:profiling, r=alexcrichton

Build instruction profiler runtime as part of compiler-rt

r? @alexcrichton

This is #38608 with some fixes.

Still missing:
- [x] testing with profiler enabled on some builders (on which ones? Should I add the option to some of the already existing configurations, or create a new configuration?);
- [x] enabling distribution (on which builders?);
- [x] documentation.

7 years agoOn-demandify extern_crate
Taylor Cramer [Mon, 12 Jun 2017 07:59:22 +0000 (00:59 -0700)]
On-demandify extern_crate

7 years agoOn-demandify is_allocator and is_panic_runtime
Taylor Cramer [Mon, 12 Jun 2017 07:11:24 +0000 (00:11 -0700)]
On-demandify is_allocator and is_panic_runtime

7 years agoon-demand dylib dependency formats
Taylor Cramer [Mon, 12 Jun 2017 05:40:14 +0000 (22:40 -0700)]
on-demand dylib dependency formats

7 years agoAdd CrateNum-taking ability to the provide macro
Taylor Cramer [Mon, 12 Jun 2017 04:58:12 +0000 (21:58 -0700)]
Add CrateNum-taking ability to the provide macro

7 years agoMerge crate `collections` into `alloc`
Murarth [Tue, 13 Jun 2017 22:52:59 +0000 (15:52 -0700)]
Merge crate `collections` into `alloc`

7 years agoOn-demand is_const_fn
Taylor Cramer [Mon, 12 Jun 2017 04:16:26 +0000 (21:16 -0700)]
On-demand is_const_fn

7 years agoDon't require that stubs exist for features in the unstable book
est31 [Mon, 12 Jun 2017 13:18:40 +0000 (15:18 +0200)]
Don't require that stubs exist for features in the unstable book

Also, remove stubs.

7 years agoAutogenerate stubs and the summary of the unstable book
est31 [Mon, 12 Jun 2017 19:35:47 +0000 (21:35 +0200)]
Autogenerate stubs and the summary of the unstable book

7 years agoLibrarify tidy
est31 [Mon, 12 Jun 2017 13:06:12 +0000 (15:06 +0200)]
Librarify tidy

Convert tidy into a library so that the data it creates
can be used by external tools.

7 years agoRemove sometimes in std::io::Read doc
Havvy [Wed, 14 Jun 2017 01:49:30 +0000 (18:49 -0700)]
Remove sometimes in std::io::Read doc

We use it immediately in the next sentence, and the word is filler.

7 years agoAuto merge of #42644 - frewsxcv:rollup, r=frewsxcv
bors [Wed, 14 Jun 2017 00:40:10 +0000 (00:40 +0000)]
Auto merge of #42644 - frewsxcv:rollup, r=frewsxcv

Rollup of 6 pull requests

- Successful merges: #42408, #42428, #42496, #42597, #42636, #42638
- Failed merges: #42612

7 years agoRemove CSV format of save-analysis data
Nick Cameron [Thu, 8 Jun 2017 02:10:26 +0000 (14:10 +1200)]
Remove CSV format of save-analysis data

7 years agoDisable wasm32 image
Marco A L Barbosa [Tue, 13 Jun 2017 22:14:15 +0000 (19:14 -0300)]
Disable wasm32 image

7 years agoRollup merge of #42638 - arthurpaimarnold:lexer_rule_for_octal, r=petrochenkov
Corey Farwell [Tue, 13 Jun 2017 21:15:04 +0000 (17:15 -0400)]
Rollup merge of #42638 - arthurpaimarnold:lexer_rule_for_octal, r=petrochenkov

Possible mistake in lexer rule for octal integer

Original rule allowed for digits 0-8, but octal is 0-7.

The compiler correctly prevents you from placing an 8 in an octal, so I'm assuming this is caught on a later stage. Still, shouldn't the lexer already catch this?

7 years agoRollup merge of #42636 - GuillaumeGomez:new-error-codes-next2, r=eddyb
Corey Farwell [Tue, 13 Jun 2017 21:15:03 +0000 (17:15 -0400)]
Rollup merge of #42636 - GuillaumeGomez:new-error-codes-next2, r=eddyb

Add E0617

Part of #42229.

cc @Susurrus @frewsxcv @QuietMisdreavus

7 years agoRollup merge of #42597 - mark-buer:park_timeout_example_fix, r=alexcrichton
Corey Farwell [Tue, 13 Jun 2017 21:15:02 +0000 (17:15 -0400)]
Rollup merge of #42597 - mark-buer:park_timeout_example_fix, r=alexcrichton

Capture elapsed duration in Thread::park_timeout example

`beginning_park.elapsed()` might return a larger value within the loop as compared to that checked in the loop conditional.
Since `Duration` arithmetic is checked, hitting such an edge case will cause a panic.

7 years agoRollup merge of #42496 - Razaekel:feature/integer_max-min, r=BurntSushi
Corey Farwell [Tue, 13 Jun 2017 21:15:00 +0000 (17:15 -0400)]
Rollup merge of #42496 - Razaekel:feature/integer_max-min, r=BurntSushi

Add max and min to Ord

Pursuant to issue #25663, this PR adds max and min methods with default implementations to std::cmp::Ord. It also modifies std::cmp::max|min to internally alias to Ord::max|min, so that any overrides of the default implementations are automatically used by std::cmp::max|min.

Closes #25663

7 years agoRollup merge of #42428 - scottmcm:str-get-overflow, r=sfackler
Corey Farwell [Tue, 13 Jun 2017 21:14:59 +0000 (17:14 -0400)]
Rollup merge of #42428 - scottmcm:str-get-overflow, r=sfackler

Add overflow checking for `str::get` with inclusive ranges

Fixes https://github.com/rust-lang/rust/issues/42401

Two commits here:

1. The first makes `str::index` just call `SliceIndex<str>::index`.  It's intended to have no behavior change, except where the two methods were inconsistent.
2. The second actually adds the overflow checking to `get(_mut)` (and tests for it)

7 years agoRollup merge of #42408 - bjorn3:patch-2, r=michaelwoerister
Corey Farwell [Tue, 13 Jun 2017 21:14:59 +0000 (17:14 -0400)]
Rollup merge of #42408 - bjorn3:patch-2, r=michaelwoerister

Add docs to librustc/hir/check_attr.rs

Also moved `check_attribute` up to ease reading.

7 years agoAdd E0617
Guillaume Gomez [Tue, 13 Jun 2017 19:37:13 +0000 (21:37 +0200)]
Add E0617

7 years agochanged upper bound digit in octal rule to 7
Arthur Arnold [Tue, 13 Jun 2017 20:08:12 +0000 (17:08 -0300)]
changed upper bound digit in octal rule to 7

7 years agoLet's try
Marco A L Barbosa [Tue, 13 Jun 2017 20:01:39 +0000 (17:01 -0300)]
Let's try

7 years agoAdd libprofiler_builtins to the list of paths for the rust-src component
Marco Castelluccio [Tue, 13 Jun 2017 19:22:43 +0000 (20:22 +0100)]
Add libprofiler_builtins to the list of paths for the rust-src component

7 years agoFix gcc version required by libprofiler_builtins
Marco Castelluccio [Tue, 13 Jun 2017 19:21:58 +0000 (20:21 +0100)]
Fix gcc version required by libprofiler_builtins

7 years agoAdd docs to librustc/hir/check_attr.rs
bjorn3 [Sat, 3 Jun 2017 16:14:29 +0000 (18:14 +0200)]
Add docs to librustc/hir/check_attr.rs

7 years agoMake tidy happy
Marco A L Barbosa [Tue, 13 Jun 2017 15:39:00 +0000 (12:39 -0300)]
Make tidy happy

7 years agodep_node: Add comment about method specialization being just a performance optimization
Michael Woerister [Tue, 13 Jun 2017 15:11:53 +0000 (17:11 +0200)]
dep_node: Add comment about method specialization being just a performance optimization

7 years agoAdd missing emscripten.sh file
Marco A L Barbosa [Tue, 13 Jun 2017 14:02:00 +0000 (11:02 -0300)]
Add missing emscripten.sh file