Commit Graph

123318 Commits

Author SHA1 Message Date
bors
c724b67e1b Auto merge of #73490 - CAD97:range-unchecked-stepping, r=Amanieu
Use step_unchecked more liberally in range iter impls

Without these `_unchecked`, these operations on iterators of `char` fail to optimize out the unreachable panicking condition on overflow.

cc @cuviper https://github.com/rayon-rs/rayon/pull/771 where this was discovered.
2020-07-14 08:56:06 +00:00
bors
4a689da944 Auto merge of #74313 - Manishearth:rollup-b55rn6t, r=Manishearth
Rollup of 8 pull requests

Successful merges:

 - #73354 (Update RELEASES.md for 1.45.0)
 - #73852 (rustdoc: insert newlines between attributes)
 - #73867 (Document the union keyword)
 - #74046 (Fix caching issue when building tools.)
 - #74123 (clean up E0718 explanation)
 - #74147 (rustdoc: Allow linking from private items to private types)
 - #74285 (#71669: add ui, codegen tests for volatile + nearby int intrinsics)
 - #74286 (Added detailed error code explanation for issue E0688 in Rust compiler.)

Failed merges:

r? @ghost
2020-07-14 05:23:45 +00:00
Manish Goregaokar
9a1df31d55
Rollup merge of #74286 - PankajChaudhary5:E0688, r=GuillaumeGomez
Added detailed error code explanation for issue E0688 in Rust compiler.

Added proper error explanation for issue E0688 in the Rust compiler.
Error Code E0688

Sub Part of Issue #61137

r? @GuillaumeGomez
2020-07-13 22:23:15 -07:00
Manish Goregaokar
fa4ada1a86
Rollup merge of #74285 - wangtheo:issue-71669, r=lcnr
#71669: add ui, codegen tests for volatile + nearby int intrinsics

Added some tests for intrinsics. See https://github.com/rust-lang/rust/issues/71669.
2020-07-13 22:23:13 -07:00
Manish Goregaokar
e4a9b36126
Rollup merge of #74147 - dennis-hamester:fix/issue-74134, r=jyn514
rustdoc: Allow linking from private items to private types

Fixes #74134

After PR #72771 this would trigger an intra_doc_link_resolution_failure warning
when rustdoc is invoked without --document-private-items. Links from private
items to private types are however never actually generated in that case and
thus shouldn't produce a warning. These links are in fact a very useful tool to
document crate internals.

Tests are added for all 4 combinations of public/private items and link
targets. Test 1 is the case mentioned above and fails without this commit. Tests
2 - 4 passed before already but are added nonetheless to prevent regressions.
2020-07-13 22:23:11 -07:00
Manish Goregaokar
549aa03d86
Rollup merge of #74123 - GuillaumeGomez:cleanup-e0718, r=pickfire
clean up E0718 explanation

r? @Dylan-DPC
2020-07-13 22:23:10 -07:00
Manish Goregaokar
e5532436a1
Rollup merge of #74046 - ehuss:deny-warnings-caching, r=Mark-Simulacrum
Fix caching issue when building tools.

This fixes a problem with tool builds not being cached properly.

#73297 changed it so that Clippy will participate in the "deny warnings" setting. Unfortunately this causes a problem because Clippy shares the build directory with other tools which do not participate in "deny warnings".  Because Cargo does not independently cache artifacts based on different RUSTFLAGS settings, it causes all the shared dependencies to get rebuilt if Clippy ever gets built.

The solution here is to stop using RUSTFLAGS, and just sneak the settings in through the rustc wrapper. Cargo won't know about the different settings, so it will not bust the cache. This should be safe since lint settings on dependencies are ignored. This is how things used to work in the past before #64316.

Alternate solutions:
* Treat Clippy as a "submodule" and don't enforce warnings on it. This was the behavior before #73297. The consequence is that if a warning sneaks into clippy, that the clippy maintainers will need to fix it when they sync clippy back to the clippy repo.
* Just deny warnings on all tools (removing the in-tree/submodule distinction). This is tempting, but with some issues (cc #52336):
  * Adding or changing warnings in rustc can be difficult to land because tools have to be updated if they trip the warning. In practice, this isn't too bad.  Cargo (and rustfmt) already runs with `deny(warnings)`, so this has been the de-facto standard already (although they do not use the extra lints like `unused_lifetimes`).
* Teach Cargo to add flags to the workspace members, but not dependencies.
* Teach Cargo to add flags without fingerprinting them?
* Teach Cargo to independently cache different RUSTFLAGS artifacts (this was [reverted](https://github.com/rust-lang/cargo/pull/7417) due to complications). This would also unnecessarily rebuild dependencies, but would avoid cache thrashing.
* Teach Cargo about lint settings.

Closes #74016
2020-07-13 22:23:08 -07:00
Manish Goregaokar
d9614dbe47
Rollup merge of #73867 - poliorcetics:union-keyword, r=joshtriplett
Document the union keyword

Partial fix of #34601.

This documents the `union` keyword by presenting three cases: simply using a union, matching on a union and referencing the fields of a union.

@rustbot modify labels: T-doc,C-enhancement
2020-07-13 22:23:03 -07:00
Manish Goregaokar
eb7fdb2e07
Rollup merge of #73852 - euclio:rustdoc-attr-newlines, r=GuillaumeGomez
rustdoc: insert newlines between attributes

Fixes #73205.
2020-07-13 22:23:00 -07:00
Manish Goregaokar
aa29e3de31
Rollup merge of #73354 - XAMPPRocky:relnotes-1.45.0, r=Mark-Simulacrum
Update RELEASES.md for 1.45.0

### [Rendered](https://github.com/XAMPPRocky/rust/blob/relnotes-1.45.0/RELEASES.md)

r? @Mark-Simulacrum
cc @rust-lang/release
2020-07-13 22:22:58 -07:00
Nicholas Nethercote
c492ca40a2 Use ArrayVec in SparseBitSet.
Instead of `SmallVec`, because the maximum size is known.
2020-07-14 10:31:54 +10:00
Takayuki Nakata
b4091032ab Use .is_some() not Some(_) 2020-07-14 08:08:13 +09:00
bjorn3
ff796b6d70 Rename collapsable_if fix suggestion to "collapse nested if block"
The name "try" is confusing when shown as quick fix by rust-analyzer
2020-07-13 17:54:57 +02:00
Lynoure Braakman
d27e7d04a1 Clarify the description for rfind
Changes the example code to illustrate the difference between
find and rfind
2020-07-13 17:41:27 +02:00
Takayuki Nakata
f2419b9d62 Refactoring to use `constant_context
Use `constant_context`, `.is_str()` and `builtin_index()` to simplify.
2020-07-14 00:23:20 +09:00
bors
4b8700879c Auto merge of #5792 - flip1995:rollup-torc1we, r=flip1995
Rollup of 5 pull requests

Successful merges:

 - #5443 (Some accuracy lints for floating point operations)
 - #5752 (Move range_minus_one to pedantic)
 - #5756 (unnecessary_sort_by: avoid linting if key borrows)
 - #5784 (Fix out of bounds access by checking length equality BEFORE accessing by index.)
 - #5786 (fix phrase in new_lint issue template)

Failed merges:

r? @ghost

changelog: rollup
2020-07-13 14:21:20 +00:00
Philipp Krones
314b068e2d
Rollup merge of #5786 - matthiaskrgr:new_lint_issue_templ, r=phansch
fix phrase in new_lint issue template

changelog: none
2020-07-13 15:59:46 +02:00
Philipp Krones
26ede3115f
Rollup merge of #5784 - matthiaskrgr:ice_5780, r=phansch
Fix out of bounds access by checking length equality BEFORE accessing by index.

Fixes #5780

changelog: fix out of bounds access in unnested_or_patterns lint.

Edit: I did not bother reducing a testcase from `librustc_typeck` crate but I can confirm that with the change the crash no longer occurs.
2020-07-13 15:59:45 +02:00
Philipp Krones
32ef448bdb
Rollup merge of #5756 - ebroto:5754_sort_by, r=flip1995
unnecessary_sort_by: avoid linting if key borrows

changelog: Avoid linting if key borrows in [`unnecessary_sort_by`]

Fixes #5754
Closes #2313
2020-07-13 15:59:44 +02:00
Philipp Krones
019e281d15
Rollup merge of #5752 - chrisduerr:pedantic_ranges, r=flip1995
Move range_minus_one to pedantic

This moves the range_minus_one lint to the pedantic category, so there
will not be any warnings emitted by default. This should work around
problems where the suggestion is impossible to resolve due to the range
consumer only accepting a specific range implementation, rather than the
`RangeBounds` trait (see #3307).

While it is possible to work around this by extracting the boundary into
a variable, I don't think clippy should encourage people to disable or
work around lints, but instead the lints should be fixable. So hopefully
this will help until a proper implementation checks what the range is
used for.

*Please keep the line below*
changelog: move [`range_minus_one`] to pedantic
2020-07-13 15:59:42 +02:00
Philipp Krones
75d43aac73
Rollup merge of #5443 - thiagoarrais:issue-2040, r=flip1995
Some accuracy lints for floating point operations

This will add some lints for accuracy on floating point operations suggested by @clarfon in #2040 (fixes #2040).

These are the remaining lints:

- [x] x.powi(2) => x * x
- [x] x.logN() / y.logN() => x.logbase(y)
- [x] x.logbase(E) => x.log()
- [x] x.logbase(10) => x.log10()
- [x] x.logbase(2) => x.log2().
- [x] x * PI / 180 => x.to_radians()
- [x] x * 180 / PI => x.to_degrees()
- [x] (x + 1).log() => x.log_1p()
- [x] sqrt(x * x + y * y) => x.hypot(y)

changelog: Included some accuracy lints for floating point operations
2020-07-13 15:59:41 +02:00
bors
fa4a737fba Auto merge of #5790 - flip1995:rustup, r=flip1995
Rustup

r? @ghost

changelog: none
2020-07-13 13:53:11 +00:00
wangtheo
8df79fcc76
Remove trailing whitespace 2020-07-13 09:44:48 -04:00
Pankaj Chaudhary
bc2b37aad7 Merge branch 'master' into E0688 2020-07-13 14:57:22 +05:30
PankajChaudhary5
e3ae4c7345 Added proper explanation of ErrorCode-E0688 2020-07-13 14:05:48 +05:30
Teddy_Wang
eac809244e Removed trailing whitespace 2020-07-13 01:52:10 -04:00
Teddy_Wang
5ff7e1ad2c Added ui tests for volatile and nearby intrinsics 2020-07-13 00:47:09 -04:00
Teddy_Wang
9a3a31a153 Added tests for volatile and nearbyint intrinsics 2020-07-12 22:38:37 -04:00
Adrian Cruceru
ed587f83cf Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit which includes LVI segfault fix 2020-07-12 18:49:14 +00:00
Jarek Samic
8c45cf8e60 Add Ayu theme to rustdoc 2020-07-12 14:48:13 -04:00
Jarek Samic
0e89f50f6e Clean up handling of style files in rustdoc
Disable all themes other than `light.css` to prevent rule conflicts
2020-07-12 14:37:22 -04:00
Jake Goulding
9741fbd202 Don't allow DESTDIR to influence LLVM builds
When running a command like `DESTDIR=foo x.py install` in a completely
clean build directory, this will cause LLVM to be installed into
`DESTDIR`, which then causes the build to fail later when it attempts
to *use* those LLVM files.
2020-07-12 14:34:33 -04:00
Erin Power
ffac887908 Update RELEASES.md for 1.45.0 2020-07-12 14:06:53 -04:00
Esteban Küber
5daedea3db Detect tuple struct incorrectly used as struct pat 2020-07-12 10:34:48 -07:00
David Wood
083c2f6ceb
pprust: support multiline comments within lines
This commit adds support to rustc_ast_pretty for multiline comments that
start and end within a line of source code.

Signed-off-by: David Wood <david@davidtw.co>
2020-07-12 18:22:09 +01:00
Lzu Tao
879afd5116 process_unix: prefer i32::*_be_bytes over manually shifting bytes 2020-07-12 16:47:15 +00:00
David Wood
5afbc5201c
typeck: report placeholder type error w/out span
This commit fixes a regression introduced in rust-lang/rust#70369 which
meant that an error was not being emitted for invalid placeholder types
when there wasn't a span available.

Signed-off-by: David Wood <david@davidtw.co>
2020-07-12 16:40:22 +01:00
Lzu Tao
e31898b024 Reduce unsafe scope 2020-07-12 14:51:04 +00:00
Lzu Tao
0281a05f66 Prefer empty OsStr over unsafe cast from [u8] 2020-07-12 14:51:04 +00:00
Lzu Tao
b1d6798899 Rewrite parse_two_comps 2020-07-12 14:51:04 +00:00
Lzu Tao
27a966a149 Make use of slice::strip_prefix and slice pattern 2020-07-12 14:51:04 +00:00
Lzu Tao
90a7d2470a Make is_valid_drive_letter function 2020-07-12 14:51:04 +00:00
Lzu Tao
0ff820cb62 Move constants to top file 2020-07-12 14:51:04 +00:00
Lzu Tao
1e05e09fe9 Remove the useless indentation 2020-07-12 14:51:04 +00:00
Ralf Jung
ff5e1078fc assign tracking issue 2020-07-12 12:48:43 +02:00
Ralf Jung
7dc388654d adjust remaining targets 2020-07-12 11:46:42 +02:00
Ralf Jung
8082fb988a rename fast_thread_local -> thread_local_dtor; thread_local -> thread_local_key 2020-07-12 11:46:42 +02:00
Lzu Tao
9a8b516de0 Sorting feature attributes in std 2020-07-12 09:40:12 +00:00
bors
9d09331e00 Auto merge of #74245 - Manishearth:rollup-r0xq9dn, r=Manishearth
Rollup of 10 pull requests

Successful merges:

 - #72920 (Stabilize `transmute` in constants and statics but not const fn)
 - #73715 (debuginfo:  Mangle tuples to be natvis friendly, typedef basic types)
 - #74066 (Optimize is_ascii for str and [u8].)
 - #74116 (Fix cross compilation of LLVM to aarch64 Windows targets)
 - #74167 (linker: illumos ld does not support --eh-frame-hdr)
 - #74168 (Add a help to use `in_band_lifetimes` in nightly)
 - #74197 (Reword incorrect `self` token suggestion)
 - #74213 (Minor refactor for rustc_resolve diagnostics match)
 - #74240 (Fix #74081 and add the test case from #74236)
 - #74241 (update miri)

Failed merges:

r? @ghost
2020-07-12 08:57:10 +00:00
Matthias Krüger
2c5f8ab582 fix phrase in new_lint issue template 2020-07-11 23:42:56 +02:00