91505 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
8e0855b5b7
Rollup merge of #59436 - gnzlbg:update_jemalloc, r=alexcrichton
Update jemalloc-sys to version 0.3.0

This PR updates jemalloc-sys from 0.1.8 to 0.3.0.
2019-03-29 12:32:21 +01:00
Mazdak Farrokhzad
972a8ce2a9
Rollup merge of #59366 - ehuss:update-books, r=QuietMisdreavus
Update books

Update reference, book, rust-by-example, edition-guide, embedded-book

## reference

15 commits in 41493ffce5d0e17d54eaf5ec9a995054e2b9aece..27ad493a10364e907ec476e2ad61e8a1614b57e1
2019-03-05 12:32:22 +0100 to 2019-03-26 02:06:15 +0100
- Document wasm_import_module for #[link]. (rust-lang-nursery/reference#554)
- Fix tidy error. (rust-lang-nursery/reference#552)
- Some minor contributing updates. (rust-lang-nursery/reference#551)
- Document `type_length_limit`. (rust-lang-nursery/reference#546)
- Add some terms to the glossary. (rust-lang-nursery/reference#547)
- Document `target_feature` and `cfg_target_feature`. (rust-lang-nursery/reference#545)
- Remove undocumented page (rust-lang-nursery/reference#539)
- Reorg and update attributes (rust-lang-nursery/reference#537)
- Fix some minor link errors. (rust-lang-nursery/reference#538)
- Add linkchecker. (rust-lang-nursery/reference#521)
- Expand docs on Macros By Example. (rust-lang-nursery/reference#511)
- document #[panic_handler] (rust-lang-nursery/reference#362)
- document #[used] (rust-lang-nursery/reference#361)
- Note that UB is program-global (rust-lang-nursery/reference#490)
- Fix copy-paste error in procedural-macros.md (rust-lang-nursery/reference#533)

## book

16 commits in 9cffbeabec3bcec42d09432bfe7705125c848889..b93ec30bbc7b1b5c2f44223249ab359bed2ed5a6
2019-03-02 08:22:41 -0500 to 2019-03-26 16:54:10 -0400
- Unignore example that now compiles
- Fix code snippet (rust-lang/book#1863)
- Fix mdbook link text in readme (rust-lang/book#1881)
- Wrap to 80 cols
- Make sentence more complete (rust-lang/book#1885)
- consistenly use increment and decrement (rust-lang/book#1884)
- Fix link to Reference's conditional-compilation. (rust-lang/book#1878)
- Fix subject/verb agreement
- Remove nostarch snapshot files that have been incorporated and checked
- haha teach the dictionary steve's name
- Add authorship info to the front page
- fix accidental <ol>'s (rust-lang/book#1866)
- Edits to Macros (rust-lang/book#1848)
- Mention `lock` returns `MutexGuard` wrapped in a `LockResult`
- Add an example that illustrates NLL (rust-lang/book#1842)
- change the parameter name from `type` to `kind` (rust-lang/book#1845)

## rust-by-example

33 commits in 2ce92beabb912d417a7314d6da83ac9b50dc2afb..f68ef3d0f4959f6a7d92a08d9994b117f0f4d32d
2018-11-20 10:10:23 -0500 to 2019-03-12 15:32:12 -0300
- Fix some broken links. (rust-lang/rust-by-example#1161)
- Update links in README (rust-lang/rust-by-example#1167)
- Add score/lifetimes/trait.md (rust-lang/rust-by-example#1168)
- Fix rust-lang/rust-by-example#1147 - No more `open_mode` method (rust-lang/rust-by-example#1164)
- Fix for loop description in list print example (rust-lang/rust-by-example#1162)
- Add link to Cargo chapter in the index page (rust-lang/rust-by-example#1159)
- Fix grammar in sentence about integer notation (rust-lang/rust-by-example#1157)
- Do not use deprecated functions from `std::error::Error` trait (rust-lang/rust-by-example#1151)
- Update new_types.md to clarify conversion to base type (rust-lang/rust-by-example#1148)
- Fix compatibility with Rust 2018 (rust-lang/rust-by-example#1150)
- Hello: Fix hint link in `fmt` chapter. (rust-lang/rust-by-example#1146)
- Clarify pub(restricted) example a bit (rust-lang/rust-by-example#1133)
- Add "literal" to list of macro designators (rust-lang/rust-by-example#1153)
- Minor fixes for the macros chapter (rust-lang/rust-by-example#1113)
- Use new book links instead of the old second-edition ones (rust-lang/rust-by-example#1143)
- Recommend implementing Display over ToString (rust-lang/rust-by-example#1145)
- Remove unused import and format with `rustfmt` (rust-lang/rust-by-example#1144)
- fix typo (rust-lang/rust-by-example#1142)
- Update syntax for 2018 Edition (rust-lang/rust-by-example#1136)
- Added two missing full stops (rust-lang/rust-by-example#1138)
- Removed unnecessary spaces before macro designators in macros/dry (rust-lang/rust-by-example#1139)
- fix install mdbook command (rust-lang/rust-by-example#1128)
- Changed word `function` to `type` in comment of fn area (rust-lang/rust-by-example#1132)
- Added two missing backticks in generics/multi_bounds (rust-lang/rust-by-example#1129)
- Fixed small logic error in error/option_unwrap/and_then (rust-lang/rust-by-example#1127)
- Fix typo (rust-lang/rust-by-example#1125)
- The code of conduct link was dead. I fixed it. (rust-lang/rust-by-example#1122)
- I added a space in the Display fmt for Complex (rust-lang/rust-by-example#1123)
- Fix Rust install link in the index (rust-lang/rust-by-example#1124)
- Update cargo conventions section (rust-lang/rust-by-example#1121)
- Fixed curly braces in the `To and from Strings` chapter to be parentheses (rust-lang/rust-by-example#1120)
- Edit a typo (rust-lang/rust-by-example#1119)
- Fixes rust-lang/rust-by-example#1115 by correcting the typo from into_iterator to into_iter (rust-lang/rust-by-example#1118)

## edition-guide

1 commits in aa0022c875907886cae8f3ef8e9ebf6e2a5e728d..b56ddb11548450a6df4edd1ed571b2bc304eb9e6
2019-02-27 22:10:39 -0800 to 2019-03-10 10:23:16 +0100
- Links fixes (rust-lang-nursery/edition-guide#133)

## embedded-book

6 commits in 9e656ead82bfe869493dec82653a52e27fa6a05c..07fd3880ea0874d82b1d9ed30ad3427ec98b4e8a
2019-03-03 16:03:26 +0000 to 2019-03-27 15:40:52 +0000
- Fix test errors.  (rust-embedded/book#180)
- Update qemu.md  (rust-embedded/book#170)
- Update no-std.md to remove obsolete FAQ link  (rust-embedded/book#177)
- We've come a long way :)  (rust-embedded/book#176)
- Correct link to team  (rust-embedded/book#175)
- Update some book links to their new homes.  (rust-embedded/book#173)
2019-03-29 12:32:19 +01:00
bors
003382e415 Auto merge of #59513 - Centril:rollup, r=Centril
Rollup of 11 pull requests

Successful merges:

 - #58019 (Combine all builtin late lints and make lint checking parallel)
 - #59358 (Use `track_errors` instead of hand rolling)
 - #59394 (warn -> deny duplicate match bindings)
 - #59401 (bootstrap: build crates under libtest with -Z emit-stack-sizes)
 - #59423 (Visit path in `walk_mac`)
 - #59468 (musl: build toolchain libs with -fPIC)
 - #59476 (Use `SmallVec` in `TokenStreamBuilder`.)
 - #59496 (Remove unnecessary with_globals calls)
 - #59498 (Use 'write_all' instead of 'write' in example code)
 - #59503 (Stablize {f32,f64}::copysign().)
 - #59511 (Fix missed fn rename in #59284)

Failed merges:

r? @ghost
2019-03-29 08:14:41 +00:00
bors
4fec737f9a Auto merge of #58605 - nagisa:fix-the-metadata, r=michaelwoerister
Use informational target machine for metadata

Since there is nothing to optimise there...

Should fix #58323 but haven’t tested locally.

r? @michaelwoerister
2019-03-29 05:00:58 +00:00
Mazdak Farrokhzad
456fa39031
Rollup merge of #59511 - jethrogb:jb/maybeinit-deprecated, r=Centril
Fix missed fn rename in #59284

See https://github.com/rust-lang/rust/pull/59284#issuecomment-477822797
2019-03-29 02:41:00 +01:00
Mazdak Farrokhzad
18680ae94f
Rollup merge of #59503 - crlf0710:stablize_copysign, r=SimonSapin
Stablize {f32,f64}::copysign().

Stablization PR for #55169/#58046. Please check if i'm doing it correctly. Is 1.35.0 good to go?
2019-03-29 02:40:58 +01:00
Mazdak Farrokhzad
0494cffd3c
Rollup merge of #59498 - mbrubeck:write_all, r=Centril
Use 'write_all' instead of 'write' in example code

Using `write` without looping and checking the result can cause silent data loss.  Example code should use `write_all` so that people don't copy this pattern.  (Of course this does not include example code for docs that are specifically about the `write` method.)
2019-03-29 02:40:57 +01:00
Mazdak Farrokhzad
bf3e6c63d6
Rollup merge of #59496 - Zoxc:fix-globals, r=oli-obk
Remove unnecessary with_globals calls
2019-03-29 02:40:56 +01:00
Mazdak Farrokhzad
73f9832ee4
Rollup merge of #59476 - nnethercote:TokenStreamBuilder-SmallVec, r=petrochenkov
Use `SmallVec` in `TokenStreamBuilder`.

This reduces by 12% the number of allocations done for a "clean incremental" of `webrender_api`, which reduces the instruction count by about 0.5%.

r? @petrochenkov
2019-03-29 02:40:54 +01:00
Mazdak Farrokhzad
c2d6c08ebb
Rollup merge of #59468 - mati865:musl_toolchain, r=pnkfelix
musl: build toolchain libs with -fPIC

Fixes https://github.com/rust-lang/rust/issues/59411
2019-03-29 02:40:52 +01:00
Mazdak Farrokhzad
0f4c87cffc
Rollup merge of #59423 - varkor:walk_mac-visit_path, r=petrochenkov
Visit path in `walk_mac`

Fixes https://github.com/rust-lang/rust/issues/54110.
2019-03-29 02:40:51 +01:00
Mazdak Farrokhzad
3df97f9da8
Rollup merge of #59401 - japaric:compiler-builtins-stack-sizes, r=alexcrichton
bootstrap: build crates under libtest with -Z emit-stack-sizes

Please see the comment in the diff for the rationale.

This change adds a `.stack_sizes` linker section to `libcompiler_builtins.rlib`
but this section is discarded by the linker by default so it won't affect the
binary size of most programs. It will, however, negatively affect the binary
size of programs that link to a recent release of the `cortex-m-rt` crate
because of the linker script that crate provides, but I have proposed a PR
(rust-embedded/cortex-m-rt#186) to solve the problem (which I originally
introduced :-)).

This change does increase the size of the `libcompiler_builtins.rlib` artifact we
distribute but the increase is in the order of (a few) KBs.

r? @alexcrichton
2019-03-29 02:40:49 +01:00
Mazdak Farrokhzad
f9262afa4d
Rollup merge of #59394 - mark-i-m:dup-matcher-bindings-2, r=Centril
warn -> deny duplicate match bindings

This is the next step of https://github.com/rust-lang/rust/issues/57742

r? @Centril

- [x] Decide whether to go to deny-by-default or hard error.
     - My preference is to make this deny-by-default, rather than going straight to a hard error. The CI should fail because I haven't updated the ui test yet. I'll update it when we decide which to do.
- [x] Update [test](c25d6b8344/src/test/ui/macros/macro-multiple-matcher-bindings.rs)
- [ ] ~Crater run~ see https://github.com/rust-lang/rust/pull/59394#issuecomment-477817351
2019-03-29 02:40:48 +01:00
Mazdak Farrokhzad
97927da048
Rollup merge of #59358 - JohnTitor:use-track-errors, r=oli-obk
Use `track_errors` instead of hand rolling

Fixes #59215

r? @oli-obk
2019-03-29 02:40:46 +01:00
Mazdak Farrokhzad
8794e21ff3
Rollup merge of #58019 - Zoxc:combine-late-lints, r=estebank
Combine all builtin late lints and make lint checking parallel

Blocked on https://github.com/rust-lang/rust/pull/57293.

Cuts runtime of late lint checking from 3.222s to 0.546s with 8 threads on `winapi` (@retep998 ;) )

r? @estebank
2019-03-29 02:40:45 +01:00
Jethro Beekman
93fb4d8317 Fix missed fn rename in #59284 2019-03-28 17:50:01 -07:00
Nicholas Nethercote
17a8aff20a Use SmallVec in TokenStreamBuilder.
This reduces by 12% the number of allocations done for a "clean
incremental" of `webrender_api`, which reduces the instruction count by
about 0.5%.

It also reduces instruction counts by up to 1.4% across a range of
rustc-perf benchmark runs.
2019-03-29 09:32:58 +11:00
bors
70a497a437 Auto merge of #59487 - Centril:rollup, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #58717 (Add FromStr impl for NonZero types)
 - #59091 (Combine input and eval_always query types)
 - #59216 (Type dependent defs wrappers)
 - #59318 (rustc: Update linker flavor inference from filename)
 - #59320 (rustc: Allow using `clang` for wasm32 targets)
 - #59363 (#59361 Moved rustc edition opt to short list)
 - #59371 (ffi: rename VaList::copy to VaList::with_copy)
 - #59398 (Add a way to track Rustfix UI test coverage)
 - #59408 (compiletest: make path normalization smarter)
 - #59429 (When moving out of a for loop head, suggest borrowing it in nll mode)

Failed merges:

r? @ghost
2019-03-28 21:46:30 +00:00
Yuki OKUSHI
0778847833 Use ErrorReported 2019-03-29 04:42:03 +09:00
Yuki OKUSHI
6c8e3a5378 Remove unused variable 2019-03-29 04:32:36 +09:00
Yuki OKUSHI
f0de8e82b8 Return correct values 2019-03-29 04:32:36 +09:00
Yuki OKUSHI
0e76b34aa7 WIP: remove report_as_error 2019-03-29 04:32:36 +09:00
Yuki OKUSHI
ee0e1b7615 Set ok value 2019-03-29 04:32:36 +09:00
Yuki OKUSHI
526b355858 Remove err_count 2019-03-29 04:32:36 +09:00
Yuki OKUSHI
3ba7454152 Use track_errors 2019-03-29 04:32:36 +09:00
mark
9f14e146ed deny duplicate matcher bindings by default 2019-03-28 14:27:16 -05:00
CrLF0710
d9bdd01ac0 Stablize {f32,f64}::copysign(). 2019-03-29 03:20:50 +08:00
Matt Brubeck
8dbae794b0 Use write_all instead of write in example code 2019-03-28 11:28:50 -07:00
John Kåre Alsaker
e9a8befd2d Remove unnecessary with_globals calls 2019-03-28 18:58:43 +01:00
Eric Huss
7a5c82d579 Add edition-guide to toolstate.
Also, add me to reference, alercah has taken a step back from involvement.
2019-03-28 10:23:15 -07:00
John Kåre Alsaker
dee389f749 Run module lint passes in parallel 2019-03-28 16:29:09 +01:00
John Kåre Alsaker
cd32f9bcca Remove LintSession and run incremental and whole crate lints in parallel 2019-03-28 16:29:08 +01:00
John Kåre Alsaker
41316f0449 Combine all builtin late lints 2019-03-28 16:29:07 +01:00
Mazdak Farrokhzad
0f26958cea
Rollup merge of #59429 - estebank:for-loop-move-nll, r=petrochenkov
When moving out of a for loop head, suggest borrowing it in nll mode

Follow up to #59195 for NLL.
2019-03-28 13:35:44 +01:00
Mazdak Farrokhzad
06a9196055
Rollup merge of #59408 - euclio:compiletest-normalization, r=oli-obk
compiletest: make path normalization smarter

Fixes #59109.
2019-03-28 13:35:43 +01:00
Mazdak Farrokhzad
b75b165589
Rollup merge of #59398 - phansch:rustfix_coverage, r=oli-obk
Add a way to track Rustfix UI test coverage

This came out of the first Rustfix WG meeting.

One of the goals is to enable Rustfix tests for all UI tests that
trigger lints with `MachineApplicable` suggestions. In order to do that
we first want to create a tracking issue that lists all files with
missing `// run-rustfix` headers.

This PR adds a `--rustfix-coverage` flag to `./x.py` and compiletest to
list the files with the missing headers in `/tmp/rustfix_missing_coverage.txt`.

From that file we can create the tracking issue and at some point also
enforce the `// run-rustfix` flag on UI tests with `MachineApplicable`
lints.
2019-03-28 13:35:41 +01:00
Mazdak Farrokhzad
a92d689b12
Rollup merge of #59371 - dlrobertson:rename_va_list_copy, r=joshtriplett
ffi: rename VaList::copy to VaList::with_copy

Rename `VaList::copy` to `VaList::with_copy`

r? @joshtriplett
2019-03-28 13:35:40 +01:00
Mazdak Farrokhzad
f591d25f43
Rollup merge of #59363 - peterjoel:issue_59361_edition_opt_shortlist, r=nagisa
#59361 Moved rustc edition opt to short list

Addresses #59361, in case that issue is accepted.
2019-03-28 13:35:38 +01:00
Mazdak Farrokhzad
9ca8f6aa79
Rollup merge of #59320 - alexcrichton:wasm-clang, r=sanxiyn
rustc: Allow using `clang` for wasm32 targets

This commit adds support code for using `clang` directly to link the
wasm32-unknown-unknown target. Currently the target is only really
configured to link with LLD directly, but this ensures that `clang` can
be configured as well.

While not immediately useful in the near term it's likely that more
wasm32 targets will pop up over time with Clang's new native support for
WebAssembly in the 8.0.0 release. Getting support into rustc early
should make it easier to experiment with these targets and try out
various changes here and there.
2019-03-28 13:35:36 +01:00
Mazdak Farrokhzad
f6d2a3feb7
Rollup merge of #59318 - alexcrichton:check-for-clang, r=michaelwoerister
rustc: Update linker flavor inference from filename

This commit fixes what is believed to be a preexisting bug in the linker
flavor inference and additionally adds a new features. Previously if the
linker didn't end in `exe` the entire file name was compared to infer
the linker's flavor. This commit fixes the code to instead
unconditionally inspect `file_stem()` which is the relevant part we're
looking at to figure out what the linker flavor is.

Additionally this commit now also adds recognition of `clang` and clang
wrappers that end in `-clang` (which look like gcc wrappers). This
should allow clang-specific wrappers to get correctly inferred to the
`Gcc` linker flavor rather than the default linker flavor configured for
a target.
2019-03-28 13:35:35 +01:00
Mazdak Farrokhzad
4720fcac4c
Rollup merge of #59216 - stepnivlk:type_dependent_defs-wrappers, r=oli-obk
Type dependent defs wrappers

First of all, forgive me if something would seem lame to you or I offend some rule (although I tried to read through docs), this is my first PR.

Issue: https://github.com/rust-lang/rust/issues/59094

This PR adds 3 helper methods to `TypeckTables`:
* `opt_type_dependent_def`
* `opt_type_dependent_def_id`
* `type_dependent_def_id`

I didn't add `type_dependent_def` as was proposed in the issue simply because it wasn't used anywhere in the code. Only non-option wrapped`type_dependent_defs()[]` accesses were found in clippy which always called `def_id()` on result.
Speaking of clippy, should I open separate PR in its own repo, given it's used as submodule here?

Sry it took me so long, as I said I'm new here and I had tough week :).
2019-03-28 13:35:33 +01:00
Mazdak Farrokhzad
edad34b3d7
Rollup merge of #59091 - Zoxc:eval_always, r=michaelwoerister
Combine input and eval_always query types

Hardcoding `Krate` as a dependency of `eval_always` queries doesn't really make sense if we want to use the query system before HIR lowering / hashing. Without that hardcoding they become pretty much identical to `input` queries, so I combined them to a single type. This will regress the `clean` incremental scenario, but that isn't terribly common.

r? @michaelwoerister
2019-03-28 13:35:31 +01:00
Mazdak Farrokhzad
f90ac4f04a
Rollup merge of #58717 - hellow554:nonzero_parse, r=oli-obk
Add FromStr impl for NonZero types

This is a WIP implementation because I do have some questions regarding the solution.

Somebody should ping the lang team on this I guess.
Please see the annotations on the code for more details.

Closes #58604
2019-03-28 13:35:29 +01:00
Marcel Hellwig
8f3e862797 fixed shift overflow
Fix according to oli-obk
(https://github.com/rust-lang/rust/pull/58717#issuecomment-477494457)
2019-03-28 10:12:17 +01:00
bors
237bf3244f Auto merge of #59478 - Centril:rollup, r=Centril
Rollup of 12 pull requests

Successful merges:

 - #57987 (Fix some AArch64 typos)
 - #58581 (Refactor generic parameter encoder functions)
 - #58803 (fs::copy() unix: set file mode early)
 - #58848 (Prevent cache issues on version updates)
 - #59198 (Do not complain about unmentioned fields in recovered patterns)
 - #59351 (Include llvm-ar with llvm-tools component)
 - #59413 (HirIdify hir::ItemId)
 - #59441 (Remove the block on natvis for lld-link.)
 - #59448 (Use consistent phrasing for all macro summaries)
 - #59456 (Add documentation about `for` used as higher ranked trait bounds)
 - #59472 (Document that `std::io::BufReader` discards contents on drop)
 - #59474 (Fix link capitalization in documentation of std::io::BufWriter.)

Failed merges:

r? @ghost
2019-03-28 08:56:34 +00:00
Mazdak Farrokhzad
d403cd787c
Rollup merge of #59474 - czipperz:bufwriter-fix-link-capitalization, r=Centril
Fix link capitalization in documentation of std::io::BufWriter.
2019-03-28 08:43:43 +01:00
Mazdak Farrokhzad
2d171d8350
Rollup merge of #59472 - czipperz:bufreader-document-drop-discards, r=Centril
Document that `std::io::BufReader` discards contents on drop

Resolves #55546
2019-03-28 08:43:42 +01:00
Mazdak Farrokhzad
d5b8048245
Rollup merge of #59456 - czipperz:for-keyword-document-higher-ranked-trait-bounds, r=Centril
Add documentation about `for` used as higher ranked trait bounds

Resolves #55416
2019-03-28 08:43:40 +01:00
Mazdak Farrokhzad
2ee038af8c
Rollup merge of #59448 - benesch:macro-doc, r=Centril
Use consistent phrasing for all macro summaries

None
2019-03-28 08:43:39 +01:00
Mazdak Farrokhzad
02c1e3dfc1
Rollup merge of #59441 - TheGoddessInari:natvis, r=alexcrichton
Remove the block on natvis for lld-link.

Since #56642 bumped minimum LLVM version to 6.0.0, Rust should be able to honor or ignore Windows natvis support with lld-link.

It looks like  https://github.com/llvm-mirror/lld/commit/9133ca57b was in LLVM 7.0, while https://github.com/llvm-mirror/lld/commit/27b9c4285 made it into 6.0, at least if the release branches are anything to go by.

Fixes #59383.
2019-03-28 08:43:37 +01:00