Commit Graph

126395 Commits

Author SHA1 Message Date
Pang, Baoshan
079baafdf1 For VxWorks:
fix building errors
use wr-c++ as linker
2020-08-25 12:09:39 -07:00
Dylan MacKenzie
f07011bad8 Always treat dlsym returning NULL as an error
This simplifies the code somewhat. Also updates comments to reflect
notes from reviw about thread-safety of `dlerror`.
2020-08-25 12:02:21 -07:00
bors
8ba22504e8 Auto merge of #74275 - wesleywiser:break_up_partitioning_rs, r=pnkfelix
Refactor the partitioning module to make it easier to introduce new algorithms

I've split the `librustc_mir::monomorphize::partitioning` module into a few files and introduced a `Partitioner` trait which allows us to decouple the partitioning algorithm from the code which integrates it into the query system. This should allow us to introduce new partitioning algorithms much more easily. I've also gone ahead and added a `-Z` flag to control which algorithm is used (currently there is only the `default`).

I left a few comments in places where things might be improved further.

r? @pnkfelix cc @rust-lang/wg-incr-comp
2020-08-25 18:52:11 +00:00
Joshua Nelson
18e7a1b799 Add Res::ns() instead of matches_ns() 2020-08-25 14:16:05 -04:00
bors
f326668577 Auto merge of #5958 - mikerite:fix-fmt-20200825, r=flip1995
Various fmt test improvements

Various fmt test improvements.

changelog: none
2020-08-25 17:15:51 +00:00
bors
f9015592f3 Auto merge of #5952 - 1c3t3a:1c3t3a-dev-5819, r=Manishearth
Added a lint which corrects expressions like (a - b) < f32::EPSILON, according to #5819

Fixes #5819
changelog: none
2020-08-25 16:54:48 +00:00
Scott McMurray
f3024073f9 Suggest mem::forget if mem::ManuallyDrop::new isn't used
I think this communicates the intent better, and is shorter anyway.
2020-08-25 09:40:53 -07:00
bors
ba43a4325c Auto merge of #5947 - ebroto:rustup_doc_improvements, r=flip1995
Improve documentation related to the sync process

[Rendered](https://github.com/ebroto/rust-clippy/blob/rustup_doc_improvements/CONTRIBUTING.md)

r? @flip1995

changelog: none
2020-08-25 16:33:17 +00:00
bors
5ef345a853 Auto merge of #5960 - flip1995:rustup, r=flip1995
Rustup

r? @ghost

changelog: none
2020-08-25 16:11:17 +00:00
Dániel Buga
a4090d28da Add test for issue #27130 2020-08-25 18:02:59 +02:00
Philipp Krones
acc6b6ce07
Fix typo 2020-08-25 18:01:08 +02:00
bors
ba4c4468f5 Auto merge of #75908 - pietroalbini:ci-bump-llvm, r=Mark-Simulacrum
Bump LLVM on CI to 10.0.0

This PR bumps the LLVM version we use on our macOS and Windows CI to 10.0.0, fixing a breakage we noticed today:

```
2020-08-25T14:24:28.5939568Z FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.obj
2020-08-25T14:24:28.5940317Z D:\a\rust\rust\build\bootstrap\debug\sccache-plus-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\Support -ID:\a\rust\rust\src\llvm-project\llvm\lib\Support -Iinclude -ID:\a\rust\rust\src\llvm-project\llvm\include -nologo -MT -Brepro --target=x86_64-pc-windows-msvc /Zc:inline /Zc:strictStrings /Oi /Zc:rvalueCast /Brepro /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wno-noexcept-type -Wno-comment /Gw /MT /O2 /Ob2 -UNDEBUG -std:c++14  /EHs-c- /GR- /showIncludes /Folib\Support\CMakeFiles\LLVMSupport.dir\AMDGPUMetadata.cpp.obj /Fdlib\Support\CMakeFiles\LLVMSupport.dir\LLVMSupport.pdb -c D:\a\rust\rust\src\llvm-project\llvm\lib\Support\AMDGPUMetadata.cpp
2020-08-25T14:24:28.5940861Z clang-cl: warning: argument unused during compilation: '-Brepro' [-Wunused-command-line-argument]
2020-08-25T14:24:28.5941076Z clang-cl: warning: argument unused during compilation: '-Brepro' [-Wunused-command-line-argument]
2020-08-25T14:24:28.5941321Z In file included from D:\a\rust\rust\src\llvm-project\llvm\lib\Support\AMDGPUMetadata.cpp:15:
2020-08-25T14:24:28.5941545Z In file included from D:\a\rust\rust\src\llvm-project\llvm\include\llvm/ADT/Twine.h:12:
2020-08-25T14:24:28.5941774Z In file included from D:\a\rust\rust\src\llvm-project\llvm\include\llvm/ADT/SmallVector.h:16:
2020-08-25T14:24:28.5942016Z In file included from D:\a\rust\rust\src\llvm-project\llvm\include\llvm/ADT/iterator_range.h:21:
2020-08-25T14:24:28.5942257Z In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\include\iterator:9:
2020-08-25T14:24:28.5942542Z C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\include\yvals_core.h(494,2): error: STL1000: Unexpected compiler version, expected Clang 10.0.0 or newer.
```

I uploaded both the new tarballs to our mirrors bucket.
2020-08-25 15:44:03 +00:00
Pietro Albini
2c011096d2
ci: fix macOS target name for LLVM 10 2020-08-25 17:41:50 +02:00
Pietro Albini
61d4f0e876
ci: bump LLVM source tarball on Linux to 10.0.0 2020-08-25 17:27:43 +02:00
Pietro Albini
951f7576e9
ci: bump prebuilt LLVM on macOS and Windows to 10.0.0 2020-08-25 17:19:41 +02:00
Joshua Nelson
e11b3ee742 Don't special case warnings 2020-08-25 10:43:40 -04:00
jumbatm
352df40df5 Remove unnecessary assert. 2020-08-26 00:19:45 +10:00
jumbatm
2ea86af1ea Use same name as attr.
Co-authored-by: Bastian Kauschke <bastian_kauschke@hotmail.de>
2020-08-26 00:19:45 +10:00
Joshua Nelson
ae93bc5960 Warn about unknown or renamed lints
Originally I tried to do a much broader refactoring that got rid of `init_lints` altogether. My reasoning is that now the lints aren't being run anymore (after https://github.com/rust-lang/rust/pull/73566), there's no need to ignore them explicitly. But it seems there are still some lints that aren't affected by setting `lint_mod` to a no-op:

```
deny(pub_use_of_private_extern_crate)
deny(const_err)
warn(unused_imports)
```

(there are possibly more, these are just the ones that failed in the rustdoc test suite).

Some of these seem like we really should be warning about, but that's a much larger change and I don't propose to make it here. So for the time being, this just adds the `unknown_lints` and `renamed_or_removed_lints` passes to the list of lints rustdoc warns about.
2020-08-25 10:17:07 -04:00
jumbatm
671770ed85 Also handle transparent single-variant enums 2020-08-25 23:51:30 +10:00
Joshua Nelson
bc7bce463f Rename debugging_options -> debugging_opts to match rustc
This way the rustdoc field names are the same as the rustc field names.
2020-08-25 09:22:26 -04:00
Joshua Nelson
1a6c3d449a Minor refactors 2020-08-25 09:18:57 -04:00
bors
5890563859 Auto merge of #75838 - mati865:profiler-atomics, r=Amanieu
Profiler: reenable atomics after #65214
2020-08-25 11:53:07 +00:00
Guillaume Gomez
f20f7f2267 Improve theme button hover background color 2020-08-25 13:48:47 +02:00
Bastian
179df0bd15 Added F32::EPSILON and F64::EPSILON to paths.rs 2020-08-25 13:41:39 +02:00
Bastian Kauschke
89daef82d0 VariantDef: move recovered into VariantFlags 2020-08-25 11:54:47 +02:00
bors
c35007dbbe Auto merge of #75773 - matklad:snapshot-tests, r=Mark-Simulacrum
Introduce expect snapshot testing library into rustc

Snapshot testing is a technique for writing maintainable unit tests.
Unlike usual `assert_eq!` tests, snapshot tests allow
to *automatically* upgrade expected values on test failure.
In a sense, snapshot tests are inline-version of our beloved
UI-tests.

Example:

![expect](https://user-images.githubusercontent.com/1711539/90888810-3bcc8180-e3b7-11ea-9626-d06e89e1a0bb.gif)

A particular library we use, `expect_test` provides an `expect!`
macro, which creates a sort of self-updating string literal (by using
`file!` macro). Self-update is triggered by setting `UPDATE_EXPECT`
environmental variable (this info is printed during the test failure).
This library was extracted from rust-analyzer, where we use it for
most of our tests.

There are some other, more popular snapshot testing libraries:

* https://github.com/mitsuhiko/insta
* https://github.com/aaronabramov/k9

The main differences of `expect` are:

* first-class snapshot objects (so, tests can be written as functions,
  rather than as macros)
* focus on inline-snapshots (but file snapshots are also supported)
* restricted feature set (only `assert_eq` and `assert_debug_eq`)
* no extra runtime (ie, no `cargo insta`)

See rust-analyzer/rust-analyzer#5101 for a
an extended comparison.

It is unclear if this testing style will stick with rustc in the long
run. At the moment, rustc is mainly tested via integrated UI tests.
But in the library-ified world, unit-tests will become somewhat more
important (that's why use use `rustc_lexer` library-ified library as
an example in this PR). Given that the cost of removal shouldn't be
too high, it probably makes sense to just see if this flies!
2020-08-25 09:36:23 +00:00
bors
3d6a3ed158 Auto merge of #75364 - rylev:libpanic-abort-failfast, r=alexcrichton
Call into fastfail on abort in libpanic_abort on Windows x86(_64)

This partially resolves #73215 though this is only for x86 targets. This code is directly lifted from [libstd](13290e83a6/library/std/src/sys/windows/mod.rs (L315)). `__fastfail` is the preferred way to abort a process on Windows as it will hook into debugger toolchains.

Other platforms expose a `_rust_abort` symbol which wraps `std::sys::abort_internal`. This would also work on Windows, but is a slightly largely change as we'd need to make sure that the symbol is properly exposed to the linker. I'm inlining the call to the `__fastfail`, but the indirection through `rust_abort` might be a cleaner approach.

 A different instruction must be used on ARM architectures. I'd like to verify this works first before tackling ARM.
2020-08-25 07:36:52 +00:00
Mateusz Mikuła
985df3d55e Enable zlib for NetBSD 2020-08-25 09:26:10 +02:00
csmoe
2271b081eb suggest await before method 2020-08-25 14:02:55 +08:00
csmoe
1de0dd9531 suggest await on field access 2020-08-25 14:00:49 +08:00
csmoe
1d30de6202 append more test cases for issue 61076 2020-08-25 14:00:49 +08:00
bors
c30341ddec Auto merge of #75132 - scottmcm:stabilize-range-is-empty, r=dtolnay
Stabilize Range[Inclusive]::is_empty

I would like to propose these two simple methods for stabilization:
- Knowing that a range is exhausted isn't otherwise trivial
- Clippy would like to suggest them, but had to do extra work to disable that path <https://github.com/rust-lang/rust-clippy/issues/3807> because they're unstable
- These work on `PartialOrd`, consistently with the stable `contains` method, and are thus more general than iterator-based approaches that need `Step`
- They've been unchanged for some time, and have picked up uses in the compiler
- Stabilizing them doesn't block any future iterator-based `is_empty` plans, as these inherent ones are preferred in name resolution

https://doc.rust-lang.org/nightly/std/ops/struct.Range.html#method.is_empty
https://doc.rust-lang.org/nightly/std/ops/struct.RangeInclusive.html#method.is_empty

Closes #48111
2020-08-25 05:24:30 +00:00
Michael Wright
c7dc9c3cf7 Fix intermittent build error
The fmt test will cause clippy dev to be compiled and run. The clippy dev
dependencies are currently stored at `target/debug/deps` when this happens.
This location sometimes causes conflicts with ui tests which result in the
build error "thread 'compile_test' panicked at 'Found multiple rlibs for crate
`regex` ...".

This commit forces the clippy_dev dependencies to be stored under
`clippy_dev/target/` which seems to resolve this problem.
2020-08-25 05:53:28 +02:00
Michael Wright
48d4736913 Simplify fmt test by using the clippy dev alias 2020-08-25 05:53:28 +02:00
Michael Wright
9102832692 Fix incorrect comment 2020-08-25 05:53:28 +02:00
bors
ee541284bf Auto merge of #75764 - workingjubilee:tidy-up-cargo-metadata, r=Mark-Simulacrum
bump tidy to cargo_metadata 0.11

Updates cargo_metadata in tidy's Cargo.toml from 0.9.1 to 0.11
Real version change 0.9.11 -> 0.11.1
https://github.com/oli-obk/cargo_metadata/compare/v0.9.1...v0.11.1
2020-08-25 03:33:10 +00:00
bors
64b53f3877 Auto merge of #5920 - giraffate:fix_fp_for_redundant_closure_call, r=mikerite
Fix FP for `redundant_closure_call`

Fix #5916

changelog: Fix FP for `redundant_closure_call` when called in function body
2020-08-25 03:29:59 +00:00
DPC
f6a4a76a9a tidy 2020-08-25 03:21:31 +02:00
bors
3e041cec75 Auto merge of #75666 - davidtwco:tidy-lang-items, r=varkor
hir: consistent use and naming of lang items

This PR adjusts the naming of various lang items so that they are consistent and don't include prefixes containing the target or "LangItem". In addition, lang item variants are no longer exported from the `lang_items` module.

This is certainly subjective and while I think this is an improvement, if many in the team don't then we can just close this.
2020-08-25 01:06:16 +00:00
DPC
b1c2b9891d cleanup 2020-08-25 03:00:27 +02:00
Scott McMurray
48b4aeabf8 Unbreak the clippy test 2020-08-24 16:29:03 -07:00
Scott McMurray
d6185f9314 Unbreak the clippy test 2020-08-24 16:29:03 -07:00
bors
3cf8f69fec Auto merge of #75625 - mati865:mingw-cross-compile, r=Mark-Simulacrum
Fix windows-gnu host cross-compilation

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

Also turns out it's faster to run Linux virtual machine on Windows and cross-compile `./x.py dist` than doing it on Windows directly...
2020-08-24 23:07:41 +00:00
DPC
dd1cd672e8 removed not-needed conversion 2020-08-25 00:59:07 +02:00
Arkadiusz Piekarz
1831f65288 Fix typo in TLS Model in Unstable Book 2020-08-24 23:02:44 +02:00
Scott McMurray
c20ad72323 Stabilize Range[Inclusive]::is_empty
I would like to propose these two simple methods for stabilization:
- Knowing that a range is exhaused isn't otherwise trivial
- Clippy would like to suggest them, but had to do extra work to disable that path <https://github.com/rust-lang/rust-clippy/issues/3807> because they're unstable
- These work on `PartialOrd`, consistently with now-stable `contains`, and are thus more general than iterator-based approaches that need `Step`
- They've been unchanged for some time, and have picked up uses in the compiler
- Stabilizing them doesn't block any future iterator-based is_empty plans, as the inherent ones are preferred in name resolution
2020-08-24 13:20:25 -07:00
bors
f44c6e4e28 Auto merge of #75110 - lzutao:ip-endianness, r=Mark-Simulacrum
Minor changes to Ipv4Addr

Minor changes to Ipv4Addr

* Impl IntoInner rather than AsInner for Ipv4Addr
* Add some comments
* Add test to show endiannes of Ipv4Addr display
2020-08-24 20:05:32 +00:00
bors
8d9a485ef1 Auto merge of #5935 - matthiaskrgr:unstable_sort_ty_name, r=flip1995
stable_sort_primitive: print the type that is being sorted in the lint message

changelog: stable_sort_primitive: print the type that is being sorted in the lint message
2020-08-24 18:08:39 +00:00
Matthias Krüger
e9964f2e8a stable_sort_primitive: print the type that is being sorted in the lint message 2020-08-24 20:06:43 +02:00