Commit graph

124480 commits

Author SHA1 Message Date
Dylan DPC
f6fb931d4f
Rollup merge of #71303 - tshepang:master, r=Mark-Simulacrum
remove build warnings

Code blocks that are not annotated are assumed to be Rust
2020-04-19 01:04:56 +02:00
Dylan DPC
dfdfc76cd9
Rollup merge of #71287 - JohnTitor:comment-vec, r=RalfJung
Explain why we shouldn't add inline attr to into_vec

Follow-up of #71204
r? @RalfJung
2020-04-19 01:04:54 +02:00
Dylan DPC
cd748abc56
Rollup merge of #71283 - Amanieu:zprofile, r=davidtwco
Minor improvements to -Zprofile

- `-Zprofile` is broken with codegen units because GCOV assumes that each source file corresponds to one object file. This PR makes `-Zprofile` automatically set codegen units to 1 and gives an error if `-Ccodegen-units=X` is specified on the command line (with `X != 1`).
- The `profiler_builtins` crate is not suitable for `no_std` applications since it contains C code that depends on libc. In such cases a custom implementation of the LLVM gcov API (`llvm_gcov_init`, `llvm_gcda_*`) is needed. This PR adds `-Zno-profiler-runtime` flag which inhibits automatic injection of the `profiler_builtins` crate.

cc @whitequark who implemented the original `-Zprofile` support
2020-04-19 01:04:53 +02:00
Dylan DPC
404e06785b
Rollup merge of #71276 - RalfJung:miri-unleash-box, r=ecstatic-morse
miri-unleashed: test that we detect heap allocations

This removes the second-to-last use of `IS_SUPPORTED_IN_MIRI = false`.

r? @ecstatic-morse @oli-obk
2020-04-19 01:04:49 +02:00
Dylan DPC
2af681b731
Rollup merge of #71271 - JohnTitor:map-in-place, r=petrochenkov
Move `MapInPlace` to rustc_data_structures

Follow-up of #67786, it fits the purpose of rustc_data_structures.
r? @petrochenkov
2020-04-19 01:04:47 +02:00
Tshepang Lekhonkhobe
fcbefae017 remove build warnings
Code blocks that are not annotated are assumed to be Rust
2020-04-18 22:32:23 +02:00
bors
f6b07db385 Auto merge of #5486 - flip1995:badge_over, r=flip1995
Remove badge FIXME from Cargo.toml

cc https://github.com/rust-lang/crates.io/issues/2436

changelog: none
2020-04-18 20:03:54 +00:00
flip1995
86c620712a
Remove badge FIXME from Cargo.toml 2020-04-18 22:02:14 +02:00
Jonas Schievink
49bca71418
Clarify when to use the tracking issue template 2020-04-18 21:07:28 +02:00
Nathan Abel
3a40cbb665 Change wording on read_vectored docs 2020-04-18 14:30:16 -04:00
Alex Macleod
5d855c4551 Add regression test for #69654 2020-04-18 18:48:04 +01:00
Santiago Pastorino
365807f057
Make Box<dyn FnOnce> respect self alignment 2020-04-18 14:37:44 -03:00
Yuki Okushi
1a46159828
Explain why we shouldn't add inline attr to into_vec 2020-04-19 01:03:43 +09:00
Eduard-Mihai Burtescu
289f46a7f5 Detect mistyped associated consts in Instance::resolve. 2020-04-18 18:39:59 +03:00
Eduard-Mihai Burtescu
0b83a5a8ae ty/instance: use ParamEnvAnd in the resolve_instance query. 2020-04-18 18:39:59 +03:00
bors
52fa23add6 Auto merge of #71218 - eddyb:a-lifetime-stranded-in-fn-def, r=nikomatsakis
outlives: ignore lifetimes shallowly found in `ty::FnDef`s.

Fixes #70917 by restoring the pre-#70164 behavior for now.

r? @nikomatsakis
2020-04-18 14:15:31 +00:00
Amanieu d'Antras
9f23b2d36b Add an option to inhibit automatic injection of profiler_builtins 2020-04-18 14:10:04 +01:00
Ralf Jung
41d5a77ee8 Miri: mplace_access_checked: offer option to force different alignment on place 2020-04-18 13:56:38 +02:00
bors
339a938fa6 Auto merge of #71278 - matthiaskrgr:submodule_upd, r=Dylan-DPC
submodules: update clippy from 6651c1b9 to 891e1a85

This PR gets `cargo clippy --fix -Zunstable-options` into nightly 🎉

Changes:
````
Polished lint and tests
Added final lint and tests
Added basic lint and tests
fix redundant_pattern_matching lint
add lint futures_not_send
Integrate more idiomatic rust changes.
Fix issue #4892.
cargo dev fmt
Cleanup: Rename 'db' variable to 'diag'
question_mark: don't add `as_ref()` for a call expression
unit_arg suggestion may be incorrect
readme: update to cargo clippy --fix command
CI: performing system upgrade fixes broken apt deps on ubuntu 32bit
Do not lint in macros for match lints
[fix] Minor typo in GH Actions 'clippy_dev'
Reenable rustfmt integration test
Add test to map_flatten with an Option
Lint map_flatten if caller is an Option
Apply suggestions from code review
manually fixing formatting at this point lol
fmt
rename field
revert the damn fmt changes
add some tests
split it up for testing but the merge broke tests
dogfood tasted bad
fix rustfmt issue
boycott manish
check for unstable options
Start work on clippy-fix as subcommand
````

Should be save to rollup since we are in no-toolstate-break week (I also didn't see any breakage when testing the clippy with  28742a114)
2020-04-18 11:09:07 +00:00
Matthias Krüger
56e0295348 submodules: update clippy from 6651c1b9 to 891e1a85
Changes:
````
Polished lint and tests
Added final lint and tests
Added basic lint and tests
fix redundant_pattern_matching lint
add lint futures_not_send
Integrate more idiomatic rust changes.
Fix issue #4892.
cargo dev fmt
Cleanup: Rename 'db' variable to 'diag'
question_mark: don't add `as_ref()` for a call expression
unit_arg suggestion may be incorrect
readme: update to cargo clippy --fix command
CI: performing system upgrade fixes broken apt deps on ubuntu 32bit
Do not lint in macros for match lints
[fix] Minor typo in GH Actions 'clippy_dev'
Reenable rustfmt integration test
Add test to map_flatten with an Option
Lint map_flatten if caller is an Option
Apply suggestions from code review
manually fixing formatting at this point lol
fmt
rename field
revert the damn fmt changes
add some tests
split it up for testing but the merge broke tests
dogfood tasted bad
fix rustfmt issue
boycott manish
check for unstable options
Start work on clippy-fix as subcommand
````
2020-04-18 12:44:30 +02:00
xiongmao86
d7f1a1ed2b Change note_span argument for span_lint_and_note. 2020-04-18 18:29:36 +08:00
xiongmao86
cf4e35339b Add an Option<Span> argument to span_lint_and_help. 2020-04-18 18:28:29 +08:00
xiongmao86
d03d3bd95b Fixes internal lint warning in code base. 2020-04-18 18:20:46 +08:00
xiongmao86
bdd32e7700 Implement collapsible_span_lint_calls lint. 2020-04-18 18:13:50 +08:00
Ralf Jung
cf3470a5fc miri-unleashed: test that we detect heap allocations 2020-04-18 11:38:25 +02:00
Ralf Jung
76cb95ef4d check_consts: make ops module private 2020-04-18 11:38:25 +02:00
bors
891e1a859b Auto merge of #5427 - pmk21:implicit-sat-sub, r=flip1995
Add lint named implicit_saturating_sub

Fixes: #5399
I've made a basic skeleton of the lint, would love more feedback on how to make it better.
changelog: Add lint [`implicit_saturating_sub`]
2020-04-18 09:05:41 +00:00
bors
9d430cb351 Auto merge of #71204 - JohnTitor:into-vec, r=wesleywiser
perf: Remove inline attribute from `into_vec()`

It was introduced in #70565 and is likely related to this perf results: https://perf.rust-lang.org/compare.html?start=1edcfc83c6a08ddc5e63fc652b149baea0236e7c&end=d249d756374737eb014079901ac132f1e1ed905e&stat=instructions:u
Let's check if it's related to that.
r? @wesleywiser could you kick off perf check? I don't think I can do it.
2020-04-18 08:03:38 +00:00
huangjiahua
1a1863b815 Add example in the alternative in std::mem::transmute docs
It is safer to use `from_ne_bytes` to convert raw bytes to type like u32.
2020-04-18 14:58:38 +08:00
pmk21
1c1103561e Polished lint and tests 2020-04-18 12:03:52 +05:30
pmk21
4d03b4d2f0 Added final lint and tests 2020-04-18 12:02:13 +05:30
pmk21
7c52e51d79 Added basic lint and tests 2020-04-18 11:39:54 +05:30
Yuki Okushi
58ad251ea8
Move MapInPlace to rustc_data_structures 2020-04-18 13:02:33 +09:00
JOE1994
3211b83134 fix -Zast-json to properly output the 'id' field 2020-04-17 22:47:26 -04:00
bors
28742a1146 Auto merge of #71147 - cuviper:min-llvm8, r=Mark-Simulacrum
Update the minimum external LLVM to 8

LLVM 8 was released on March 20, 2019, over a year ago.
2020-04-18 01:37:27 +00:00
CAD97
a01b00faf8 Clarify layout information in Layout::extend 2020-04-17 18:59:36 -04:00
Shea Levy
c7899a027e
Remove unused abs_path method from rustc_span::source_map::FileLoader 2020-04-17 17:58:25 -04:00
bors
cff9a758ae Auto merge of #71264 - Dylan-DPC:rollup-njgbey7, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #70467 (Use `call` instead of `invoke` for functions that cannot unwind )
 - #71070 (rustbuild: Remove stage 0 LLD flavor workaround for MSVC)
 - #71167 (big-O notation: parenthesis for function calls, explicit multiplication)
 - #71238 (Miri: fix typo)
 - #71242 (Format Mailmap To Work With GitHub)
 - #71243 (Account for use of `try!()` in 2018 edition and guide users in the right direction)

Failed merges:

r? @ghost
2020-04-17 21:57:06 +00:00
Dylan DPC
4b9eeca5c5
Rollup merge of #71243 - Duddino:Fix2, r=estebank
Account for use of `try!()` in 2018 edition and guide users in the right direction

fixes #71155
2020-04-17 23:56:04 +02:00
Dylan DPC
6a140a31df
Rollup merge of #71242 - XAMPPRocky:mailmap, r=Dylan-DPC
Format Mailmap To Work With GitHub

r? @Mark-Simulacrum
2020-04-17 23:56:03 +02:00
Dylan DPC
0050a6479b
Rollup merge of #71238 - RalfJung:miri-typo, r=oli-obk
Miri: fix typo

r? @oli-obk at least I think this should be "without", right?
2020-04-17 23:56:01 +02:00
Dylan DPC
d5d9bf0406
Rollup merge of #71167 - RalfJung:big-o, r=shepmaster
big-O notation: parenthesis for function calls, explicit multiplication

I saw `O(n m log n)` in the docs and found that really hard to parse. In particular, I don't think we should use blank space as syntax for *both* multiplication and function calls, that is just confusing.

This PR makes both multiplication and function calls explicit using Rust-like syntax. If you prefer, I can also leave one of them implicit, but I believe explicit is better here.

While I was at it I also added backticks consistently.
2020-04-17 23:56:00 +02:00
Dylan DPC
b45f133a0d
Rollup merge of #71070 - petrochenkov:nolldaround, r=Mark-Simulacrum
rustbuild: Remove stage 0 LLD flavor workaround for MSVC
2020-04-17 23:55:58 +02:00
Dylan DPC
43cf9d791b
Rollup merge of #70467 - wesleywiser:invoke-vs-call, r=nagisa
Use `call` instead of `invoke` for functions that cannot unwind

The `FnAbi` now knows if the function is allowed to unwind. If a
function isn't allowed to unwind, we can use a `call` instead of an
`invoke`.

This resolves an issue when calling LLVM intrinsics which cannot unwind
LLVM will generate an error if you attempt to invoke them so we need to
ignore cleanup blocks in codegen and generate a call instead.

Fixes #69911

r? @eddyb
cc @rust-lang/wg-ffi-unwind
2020-04-17 23:55:56 +02:00
Josh Stone
ccecae5fdd Fix unused results from mem::replace 2020-04-17 13:59:14 -07:00
Felix S. Klock II
1abfd4ab23 Issue #71248: attempt to recover perf by removing exports_all_green flag.
(My hypothesis is that my use of this flag was an overly conservative
generalization of PR 67020.)
2020-04-17 16:04:59 -04:00
bors
1c0e4e5b97 Auto merge of #5483 - alex-700:fix-redundant-pattern-matching, r=flip1995
fix redundant_pattern_matching lint

- now it handles `while let` case  (related to #5462)
- better suggestions in `if let` case

changelog: Fix suggestion in `redundant_pattern_matching` and also apply this lint to the `while let` case
2020-04-17 19:29:17 +00:00
Amanieu d'Antras
7fe41279c5 Make -Zprofile set codegen-units to 1 2020-04-17 19:53:31 +01:00
Aleksei Latyshev
092c4595fe
fix redundant_pattern_matching lint
- now it handles `while let` case
- better suggestions in `if let` case
2020-04-17 21:51:07 +03:00
Jonas Schievink
ae533151c3 Ignore generator-drop-cleanup on wasm32-bare 2020-04-17 20:37:34 +02:00