]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoSuggest boxing or borrowing unsized fields
Esteban Küber [Fri, 10 Jul 2020 22:13:49 +0000 (15:13 -0700)]
Suggest boxing or borrowing unsized fields

3 years agoPoint at type on E0275 instead of whole field
Esteban Küber [Fri, 10 Jul 2020 21:54:48 +0000 (14:54 -0700)]
Point at type on E0275 instead of whole field

3 years agoSuggest borrowing unsized argument types
Esteban Küber [Fri, 10 Jul 2020 21:53:48 +0000 (14:53 -0700)]
Suggest borrowing unsized argument types

3 years agoSuggest struct pat on incorrect unit or tuple pat
Esteban Küber [Fri, 10 Jul 2020 00:42:07 +0000 (17:42 -0700)]
Suggest struct pat on incorrect unit or tuple pat

When encountering a unit or tuple pattern for a struct-like item, suggest
using the correct pattern.

Use `insert_field_names_local` when evaluating variants and store field
names even when the list is empty in order to produce accurate
structured suggestions.

3 years agoAuto merge of #74330 - Manishearth:rollup-mrc09pb, r=Manishearth
bors [Tue, 14 Jul 2020 17:11:02 +0000 (17:11 +0000)]
Auto merge of #74330 - Manishearth:rollup-mrc09pb, r=Manishearth

Rollup of 15 pull requests

Successful merges:

 - #71237 (Add Ayu theme to rustdoc)
 - #73720 (Clean up E0704 error explanation)
 - #73866 (Obviate #[allow(improper_ctypes_definitions)])
 - #73965 (typeck: check for infer before type impls trait)
 - #73986 (add (unchecked) indexing methods to raw (and NonNull) slices)
 - #74173 (Detect tuple struct incorrectly used as struct pat)
 - #74220 (Refactor Windows `parse_prefix`)
 - #74227 (Remove an unwrap in layout computation)
 - #74239 (Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit )
 - #74257 (don't mark linux kernel module targets as a unix environment)
 - #74270 (typeck: report placeholder type error w/out span)
 - #74296 (Clarify the description for rfind)
 - #74310 (Use `ArrayVec` in `SparseBitSet`.)
 - #74316 (Remove unnecessary type hints from Wake internals)
 - #74324 (Update Clippy)

Failed merges:

r? @ghost

3 years agotypeck: use `item_name` in cross-crate packed diag
David Wood [Tue, 14 Jul 2020 15:28:11 +0000 (16:28 +0100)]
typeck: use `item_name` in cross-crate packed diag

This commit replaces the use of `expect_local` and `hir().get` to fetch
the identifier for a ADT with `item_name` - which works across crates.

Signed-off-by: David Wood <david@davidtw.co>
3 years agobootstrap: Improve wording on docs for `verbose-tests`
Joshua Nelson [Tue, 14 Jul 2020 15:11:24 +0000 (11:11 -0400)]
bootstrap: Improve wording on docs for `verbose-tests`

3 years agoUpdate cargo
Eric Huss [Tue, 14 Jul 2020 14:50:18 +0000 (07:50 -0700)]
Update cargo

3 years agoRollup merge of #74324 - flip1995:clippyup, r=Manishearth
Manish Goregaokar [Tue, 14 Jul 2020 14:39:19 +0000 (07:39 -0700)]
Rollup merge of #74324 - flip1995:clippyup, r=Manishearth

Update Clippy

~~I'm not sure, if we can/should land this before beta is branched.~~ (Nvm, beta is already branched) The last Clippy update was 3 weeks ago: #73660

This includes, besides other minor things:

- New lints
- One lint deprecation
- One lint was moved to pedantic
- Some FP fixes
- I think an ICE fix?

cc @Mark-Simulacrum

r? @Manishearth

---

We probably should also think of some process when and how often we should sync Clippy to the rust repo, so that we don't end up with those huge updates. Maybe every 2 weeks? Or even every week? cc @rust-lang/clippy

3 years agoRollup merge of #74316 - yoshuawuyts:no-wake-type-hints, r=Mark-Simulacrum
Manish Goregaokar [Tue, 14 Jul 2020 14:39:17 +0000 (07:39 -0700)]
Rollup merge of #74316 - yoshuawuyts:no-wake-type-hints, r=Mark-Simulacrum

Remove unnecessary type hints from Wake internals

While working on https://github.com/rust-lang/rust/pull/74304 I noticed we were writing out the type signature twice in some internal `Wake` impl methods; this streamlines that. Thanks!

3 years agoRollup merge of #74310 - nnethercote:use-ArrayVec-in-SparseBitSet, r=eddyb
Manish Goregaokar [Tue, 14 Jul 2020 14:39:15 +0000 (07:39 -0700)]
Rollup merge of #74310 - nnethercote:use-ArrayVec-in-SparseBitSet, r=eddyb

Use `ArrayVec` in `SparseBitSet`.

Instead of `SmallVec`, because the maximum size is known.

r? @eddyb

3 years agoRollup merge of #74296 - Lynoure:rfind-doc-improvement, r=hanna-kruppe
Manish Goregaokar [Tue, 14 Jul 2020 14:39:13 +0000 (07:39 -0700)]
Rollup merge of #74296 - Lynoure:rfind-doc-improvement, r=hanna-kruppe

Clarify the description for rfind

Changes the wording in rfind description to be clearer and the example code to illustrate the difference between
find and rfind

3 years agoRollup merge of #74270 - davidtwco:issue-74086-more-placeholder-type-error, r=estebank
Manish Goregaokar [Tue, 14 Jul 2020 14:39:11 +0000 (07:39 -0700)]
Rollup merge of #74270 - davidtwco:issue-74086-more-placeholder-type-error, r=estebank

typeck: report placeholder type error w/out span

Fixes #74086.

This PR 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.

r? @estebank

3 years agoRollup merge of #74257 - alex:patch-1, r=joshtriplett
Manish Goregaokar [Tue, 14 Jul 2020 14:39:10 +0000 (07:39 -0700)]
Rollup merge of #74257 - alex:patch-1, r=joshtriplett

don't mark linux kernel module targets as a unix environment

refs #74247

r?@joshtriplett

cc: @ehuss

3 years agoRollup merge of #74239 - AdrianCX:master, r=cuviper
Manish Goregaokar [Tue, 14 Jul 2020 14:39:08 +0000 (07:39 -0700)]
Rollup merge of #74239 - AdrianCX:master, r=cuviper

Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit

which includes LVI segfault fix when building https://github.com/fortanix/rust-sgx/issues/267
And a few earlier commits.

3 years agoRollup merge of #74227 - erikdesjardins:layun, r=estebank
Manish Goregaokar [Tue, 14 Jul 2020 14:39:06 +0000 (07:39 -0700)]
Rollup merge of #74227 - erikdesjardins:layun, r=estebank

Remove an unwrap in layout computation

A tiny improvement.

3 years agoRollup merge of #74220 - lzutao:windows-path-com, r=LukasKalbertodt
Manish Goregaokar [Tue, 14 Jul 2020 14:39:04 +0000 (07:39 -0700)]
Rollup merge of #74220 - lzutao:windows-path-com, r=LukasKalbertodt

Refactor Windows `parse_prefix`

These changes make me feel more readable.
See the commit messages for more details.

3 years agoRollup merge of #74173 - estebank:struct-pat-as-enum, r=petrochenkov
Manish Goregaokar [Tue, 14 Jul 2020 14:39:02 +0000 (07:39 -0700)]
Rollup merge of #74173 - estebank:struct-pat-as-enum, r=petrochenkov

Detect tuple struct incorrectly used as struct pat

Subpart of #74005.

r? @petrochenkov

3 years agoRollup merge of #73986 - RalfJung:raw-slice-as-ptr, r=sfackler
Manish Goregaokar [Tue, 14 Jul 2020 14:39:00 +0000 (07:39 -0700)]
Rollup merge of #73986 - RalfJung:raw-slice-as-ptr, r=sfackler

add (unchecked) indexing methods to raw (and NonNull) slices

This complements the existing (unstable) `len` method. Unfortunately, for non-null slices, we cannot call this method `as_ptr` as that overlaps with the existing method of the same name.

If this looks reasonable to accept, I propose to reuse the https://github.com/rust-lang/rust/issues/71146 tracking issue and rename the feature get to `slice_ptr_methods` or so.

Cc @SimonSapin
Fixes https://github.com/rust-lang/rust/issues/60639

3 years agoRollup merge of #73965 - davidtwco:issue-73886-non-primitive-slice-cast, r=estebank
Manish Goregaokar [Tue, 14 Jul 2020 14:38:58 +0000 (07:38 -0700)]
Rollup merge of #73965 - davidtwco:issue-73886-non-primitive-slice-cast, r=estebank

typeck: check for infer before type impls trait

Fixes #73886.

This PR checks that the target type of the cast (an error related to which is being reported) does not have types to be inferred before checking if it implements the `From` trait.

r? @estebank

3 years agoRollup merge of #73866 - Goirad:fix-entry-improper-ctypes, r=davidtwco
Manish Goregaokar [Tue, 14 Jul 2020 14:38:56 +0000 (07:38 -0700)]
Rollup merge of #73866 - Goirad:fix-entry-improper-ctypes, r=davidtwco

Obviate #[allow(improper_ctypes_definitions)]

Modifies the return type for `fn entry` so that allowing
improper_ctypes_definitions is no longer necessary. This change is
derived from a similar pattern in `libstd/sys/sgx/abi/usercalls/raw.rs`
with `UsercallReturn`.

cc @jethrogb

3 years agoRollup merge of #73720 - GuillaumeGomez:cleanup-e0704, r=Dylan-DPC
Manish Goregaokar [Tue, 14 Jul 2020 14:38:53 +0000 (07:38 -0700)]
Rollup merge of #73720 - GuillaumeGomez:cleanup-e0704, r=Dylan-DPC

Clean up E0704 error explanation

r? @Dylan-DPC

3 years agoRollup merge of #71237 - Cldfire:rustdoc-ayu-theme, r=GuilliaumeGomez
Manish Goregaokar [Tue, 14 Jul 2020 14:38:50 +0000 (07:38 -0700)]
Rollup merge of #71237 - Cldfire:rustdoc-ayu-theme, r=GuilliaumeGomez

Add Ayu theme to rustdoc

This is a port of a theme I maintain (https://github.com/Cldfire/ayu-rs) to the native rustdoc theme system. [Ayu](https://github.com/dempfi/ayu) (dark) is a richly-colored dark theme that many people enjoy using across a wide variety of environments.

Corresponds to the Ayu theme in [mdBook](https://github.com/rust-lang/mdBook).

Some screenshots:

![image](https://user-images.githubusercontent.com/13814214/79547087-6c935780-8061-11ea-8a33-38e9472e9fec.png)

![image](https://user-images.githubusercontent.com/13814214/79547150-8339ae80-8061-11ea-97be-9e13a8b275d7.png)

![image](https://user-images.githubusercontent.com/13814214/79547221-98164200-8061-11ea-9649-9b11ccbb33e3.png)

![image](https://user-images.githubusercontent.com/13814214/79547310-b419e380-8061-11ea-9965-d4f90b2280ab.png)

![image](https://user-images.githubusercontent.com/13814214/79547443-e7f50900-8061-11ea-8872-06d74010691e.png)

Note that this pull request also makes some small code changes to allow for disabling theme stylesheets, preventing the rules from all the different themes from conflicting with one another. The only stylesheet that is not disabled is `light.css`; the theming system (quite hackily) switches themes by changing the href on this stylesheet and so permanently disabling all the others works perfectly fine.

3 years agoMerge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup
flip1995 [Tue, 14 Jul 2020 12:59:59 +0000 (14:59 +0200)]
Merge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup

3 years agoRemove unnecessary type hints from the Wake impl
Yoshua Wuyts [Tue, 14 Jul 2020 09:59:11 +0000 (11:59 +0200)]
Remove unnecessary type hints from the Wake impl

3 years agoAuto merge of #5732 - bjorn3:patch-1, r=flip1995
bors [Tue, 14 Jul 2020 09:39:01 +0000 (09:39 +0000)]
Auto merge of #5732 - bjorn3:patch-1, r=flip1995

Rename collapsable_if fix suggestion to "collapse nested if block"

The name "try" is confusing when shown as quick fix by rust-analyzer

changelog: Rename `collapsable_if` fix suggestion to "collapse nested if block"

3 years agoAuto merge of #5773 - giraffate:repeat_once, r=flip1995
bors [Tue, 14 Jul 2020 09:13:58 +0000 (09:13 +0000)]
Auto merge of #5773 - giraffate:repeat_once, r=flip1995

Add a lint for `.repeat(1)`

changelog: New lint `repeat_once`

fix #3028.

3 years agoAuto merge of #73490 - CAD97:range-unchecked-stepping, r=Amanieu
bors [Tue, 14 Jul 2020 08:56:06 +0000 (08:56 +0000)]
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.

3 years agoAdded docs for `From<c_int>` for `ExitStatus`
Vincent Esche [Mon, 13 Jul 2020 11:47:18 +0000 (13:47 +0200)]
Added docs for `From<c_int>` for `ExitStatus`

3 years agoAuto merge of #74313 - Manishearth:rollup-b55rn6t, r=Manishearth
bors [Tue, 14 Jul 2020 05:23:45 +0000 (05:23 +0000)]
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

3 years agoRollup merge of #74286 - PankajChaudhary5:E0688, r=GuillaumeGomez
Manish Goregaokar [Tue, 14 Jul 2020 05:23:15 +0000 (22:23 -0700)]
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

3 years agoRollup merge of #74285 - wangtheo:issue-71669, r=lcnr
Manish Goregaokar [Tue, 14 Jul 2020 05:23:13 +0000 (22:23 -0700)]
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.

3 years agoRollup merge of #74147 - dennis-hamester:fix/issue-74134, r=jyn514
Manish Goregaokar [Tue, 14 Jul 2020 05:23:11 +0000 (22:23 -0700)]
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.

3 years agoRollup merge of #74123 - GuillaumeGomez:cleanup-e0718, r=pickfire
Manish Goregaokar [Tue, 14 Jul 2020 05:23:10 +0000 (22:23 -0700)]
Rollup merge of #74123 - GuillaumeGomez:cleanup-e0718, r=pickfire

clean up E0718 explanation

r? @Dylan-DPC

3 years agoRollup merge of #74046 - ehuss:deny-warnings-caching, r=Mark-Simulacrum
Manish Goregaokar [Tue, 14 Jul 2020 05:23:08 +0000 (22:23 -0700)]
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

3 years agoRollup merge of #73867 - poliorcetics:union-keyword, r=joshtriplett
Manish Goregaokar [Tue, 14 Jul 2020 05:23:03 +0000 (22:23 -0700)]
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

3 years agoRollup merge of #73852 - euclio:rustdoc-attr-newlines, r=GuillaumeGomez
Manish Goregaokar [Tue, 14 Jul 2020 05:23:00 +0000 (22:23 -0700)]
Rollup merge of #73852 - euclio:rustdoc-attr-newlines, r=GuillaumeGomez

rustdoc: insert newlines between attributes

Fixes #73205.

3 years agoRollup merge of #73354 - XAMPPRocky:relnotes-1.45.0, r=Mark-Simulacrum
Manish Goregaokar [Tue, 14 Jul 2020 05:22:58 +0000 (22:22 -0700)]
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

3 years agoUse `ArrayVec` in `SparseBitSet`.
Nicholas Nethercote [Tue, 14 Jul 2020 00:31:54 +0000 (10:31 +1000)]
Use `ArrayVec` in `SparseBitSet`.

Instead of `SmallVec`, because the maximum size is known.

3 years agoUse `.is_some()` not `Some(_)`
Takayuki Nakata [Mon, 13 Jul 2020 23:08:13 +0000 (08:08 +0900)]
Use `.is_some()` not `Some(_)`

3 years agoRename collapsable_if fix suggestion to "collapse nested if block"
bjorn3 [Fri, 19 Jun 2020 09:44:03 +0000 (11:44 +0200)]
Rename collapsable_if fix suggestion to "collapse nested if block"

The name "try" is confusing when shown as quick fix by rust-analyzer

3 years agoClarify the description for rfind
Lynoure Braakman [Mon, 13 Jul 2020 15:41:27 +0000 (17:41 +0200)]
Clarify the description for rfind

Changes the example code to illustrate the difference between
find and rfind

3 years agoAdd and fix BTreeMap comments
Stein Somers [Mon, 13 Jul 2020 14:50:27 +0000 (16:50 +0200)]
Add and fix BTreeMap comments

3 years agoRefactoring to use `constant_context
Takayuki Nakata [Mon, 13 Jul 2020 15:11:10 +0000 (00:11 +0900)]
Refactoring to use `constant_context

Use `constant_context`, `.is_str()` and `builtin_index()` to simplify.

3 years agoAuto merge of #5792 - flip1995:rollup-torc1we, r=flip1995
bors [Mon, 13 Jul 2020 14:21:20 +0000 (14:21 +0000)]
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

3 years agoRollup merge of #5786 - matthiaskrgr:new_lint_issue_templ, r=phansch
Philipp Krones [Mon, 13 Jul 2020 13:59:46 +0000 (15:59 +0200)]
Rollup merge of #5786 - matthiaskrgr:new_lint_issue_templ, r=phansch

fix phrase in new_lint issue template

changelog: none

3 years agoRollup merge of #5784 - matthiaskrgr:ice_5780, r=phansch
Philipp Krones [Mon, 13 Jul 2020 13:59:45 +0000 (15:59 +0200)]
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.

3 years agoRollup merge of #5756 - ebroto:5754_sort_by, r=flip1995
Philipp Krones [Mon, 13 Jul 2020 13:59:44 +0000 (15:59 +0200)]
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

3 years agoRollup merge of #5752 - chrisduerr:pedantic_ranges, r=flip1995
Philipp Krones [Mon, 13 Jul 2020 13:59:42 +0000 (15:59 +0200)]
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

3 years agoRollup merge of #5443 - thiagoarrais:issue-2040, r=flip1995
Philipp Krones [Mon, 13 Jul 2020 13:59:41 +0000 (15:59 +0200)]
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

3 years agoAuto merge of #5790 - flip1995:rustup, r=flip1995
bors [Mon, 13 Jul 2020 13:53:11 +0000 (13:53 +0000)]
Auto merge of #5790 - flip1995:rustup, r=flip1995

Rustup

r? @ghost

changelog: none

3 years agoRemove trailing whitespace
wangtheo [Mon, 13 Jul 2020 13:44:48 +0000 (09:44 -0400)]
Remove trailing whitespace

3 years agoMove all code-snippets to /tmp/ as basedir
Martin Sirringhaus [Mon, 13 Jul 2020 13:42:59 +0000 (15:42 +0200)]
Move all code-snippets to /tmp/ as basedir

3 years agoFix typo
Martin Sirringhaus [Mon, 13 Jul 2020 13:36:39 +0000 (15:36 +0200)]
Fix typo

3 years agoUpdate cross-compilation README
Martin Sirringhaus [Mon, 13 Jul 2020 13:30:48 +0000 (15:30 +0200)]
Update cross-compilation README

3 years agoMerge branch 'master' into E0688
Pankaj Chaudhary [Mon, 13 Jul 2020 08:44:37 +0000 (14:14 +0530)]
Merge branch 'master' into E0688

3 years agoAdded proper explanation of ErrorCode-E0688
PankajChaudhary5 [Mon, 13 Jul 2020 08:35:48 +0000 (14:05 +0530)]
Added proper explanation of ErrorCode-E0688

3 years agoRemoved trailing whitespace
Teddy_Wang [Mon, 13 Jul 2020 05:52:10 +0000 (01:52 -0400)]
Removed trailing whitespace

3 years agoAdded ui tests for volatile and nearby intrinsics
Teddy_Wang [Mon, 13 Jul 2020 04:47:09 +0000 (00:47 -0400)]
Added ui tests for volatile and nearby intrinsics

3 years agoAdded tests for volatile and nearbyint intrinsics
Teddy_Wang [Mon, 13 Jul 2020 02:38:37 +0000 (22:38 -0400)]
Added tests for volatile and nearbyint intrinsics

3 years agoUpdate llvm-project to latest origin/rustc/10.0-2020-05-05 commit which includes...
Adrian Cruceru [Sat, 11 Jul 2020 11:33:43 +0000 (11:33 +0000)]
Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit which includes LVI segfault fix

3 years agoAdd Ayu theme to rustdoc
Jarek Samic [Sun, 12 Jul 2020 18:48:13 +0000 (14:48 -0400)]
Add Ayu theme to rustdoc

3 years agoClean up handling of style files in rustdoc
Jarek Samic [Sun, 12 Jul 2020 18:37:22 +0000 (14:37 -0400)]
Clean up handling of style files in rustdoc
Disable all themes other than `light.css` to prevent rule conflicts

3 years agoDon't allow `DESTDIR` to influence LLVM builds
Jake Goulding [Sat, 11 Jul 2020 13:38:01 +0000 (09:38 -0400)]
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.

3 years agoUpdate RELEASES.md for 1.45.0
Erin Power [Sun, 14 Jun 2020 18:59:40 +0000 (20:59 +0200)]
Update RELEASES.md for 1.45.0

3 years agoDetect tuple struct incorrectly used as struct pat
Esteban Küber [Thu, 9 Jul 2020 02:39:26 +0000 (19:39 -0700)]
Detect tuple struct incorrectly used as struct pat

3 years agopprust: support multiline comments within lines
David Wood [Sun, 12 Jul 2020 17:22:09 +0000 (18:22 +0100)]
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>
3 years agoprocess_unix: prefer i32::*_be_bytes over manually shifting bytes
Lzu Tao [Sun, 12 Jul 2020 16:47:15 +0000 (16:47 +0000)]
process_unix: prefer i32::*_be_bytes over manually shifting bytes

3 years agotypeck: report placeholder type error w/out span
David Wood [Sun, 12 Jul 2020 15:40:22 +0000 (16:40 +0100)]
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>
3 years agoReduce unsafe scope
Lzu Tao [Sun, 12 Jul 2020 14:46:00 +0000 (14:46 +0000)]
Reduce unsafe scope

3 years agoPrefer empty OsStr over unsafe cast from [u8]
Lzu Tao [Fri, 10 Jul 2020 15:59:25 +0000 (15:59 +0000)]
Prefer empty OsStr over unsafe cast from [u8]

3 years agoRewrite parse_two_comps
Lzu Tao [Fri, 10 Jul 2020 15:59:25 +0000 (15:59 +0000)]
Rewrite parse_two_comps

3 years agoMake use of slice::strip_prefix and slice pattern
Lzu Tao [Fri, 10 Jul 2020 15:59:25 +0000 (15:59 +0000)]
Make use of slice::strip_prefix and slice pattern

3 years agoMake is_valid_drive_letter function
Lzu Tao [Fri, 10 Jul 2020 15:59:25 +0000 (15:59 +0000)]
Make is_valid_drive_letter function

3 years agoMove constants to top file
Lzu Tao [Sun, 12 Jul 2020 10:17:22 +0000 (10:17 +0000)]
Move constants to top file

3 years agoRemove the useless indentation
Lzu Tao [Fri, 10 Jul 2020 15:59:25 +0000 (15:59 +0000)]
Remove the useless indentation

3 years agoassign tracking issue
Ralf Jung [Sun, 12 Jul 2020 10:48:43 +0000 (12:48 +0200)]
assign tracking issue

3 years agoadjust remaining targets
Ralf Jung [Sun, 12 Jul 2020 09:45:04 +0000 (11:45 +0200)]
adjust remaining targets

3 years agorename fast_thread_local -> thread_local_dtor; thread_local -> thread_local_key
Ralf Jung [Sun, 12 Jul 2020 09:37:11 +0000 (11:37 +0200)]
rename fast_thread_local -> thread_local_dtor; thread_local -> thread_local_key

3 years agoSorting feature attributes in std
Lzu Tao [Fri, 10 Jul 2020 15:59:25 +0000 (15:59 +0000)]
Sorting feature attributes in std

3 years agoAuto merge of #74245 - Manishearth:rollup-r0xq9dn, r=Manishearth
bors [Sun, 12 Jul 2020 08:57:10 +0000 (08:57 +0000)]
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

3 years agofix phrase in new_lint issue template
Matthias Krüger [Sat, 11 Jul 2020 21:42:56 +0000 (23:42 +0200)]
fix phrase in new_lint issue template

3 years agodon't mark linux kernel module targets as a unix environment
Alex Gaynor [Sat, 11 Jul 2020 21:20:33 +0000 (17:20 -0400)]
don't mark linux kernel module targets as a unix environment

3 years agoCorrectly sort const_fn_transmute
Manish Goregaokar [Sat, 11 Jul 2020 15:55:05 +0000 (08:55 -0700)]
Correctly sort const_fn_transmute

3 years agoRollup merge of #74241 - RalfJung:miri, r=RalfJung
Manish Goregaokar [Sat, 11 Jul 2020 15:53:29 +0000 (08:53 -0700)]
Rollup merge of #74241 - RalfJung:miri, r=RalfJung

update miri

This incorporates https://github.com/rust-lang/miri/pull/1474. [Last time](https://github.com/rust-lang/rust/pull/74146) that change caused trouble but I fixed xargo since then and [now it should work](https://github.com/rust-lang/rust/pull/74146#issuecomment-657051446).

Cc @rust-lang/miri r? @ghost

3 years agoRollup merge of #74240 - da-x:fix-74081, r=Manishearth
Manish Goregaokar [Sat, 11 Jul 2020 15:53:27 +0000 (08:53 -0700)]
Rollup merge of #74240 - da-x:fix-74081, r=Manishearth

Fix #74081 and add the test case from #74236

3 years agoRollup merge of #74213 - pickfire:patch-1, r=jonas-schievink
Manish Goregaokar [Sat, 11 Jul 2020 15:53:25 +0000 (08:53 -0700)]
Rollup merge of #74213 - pickfire:patch-1, r=jonas-schievink

Minor refactor for rustc_resolve diagnostics match

Use `matches!` instead of old `if let`

3 years agoRollup merge of #74197 - estebank:self-sugg, r=petrochenkov
Manish Goregaokar [Sat, 11 Jul 2020 15:53:23 +0000 (08:53 -0700)]
Rollup merge of #74197 - estebank:self-sugg, r=petrochenkov

Reword incorrect `self` token suggestion

3 years agoRollup merge of #74168 - JohnTitor:help-for-in-band-lifetimes, r=petrochenkov
Manish Goregaokar [Sat, 11 Jul 2020 15:53:21 +0000 (08:53 -0700)]
Rollup merge of #74168 - JohnTitor:help-for-in-band-lifetimes, r=petrochenkov

Add a help to use `in_band_lifetimes` in nightly

Fixes #73775

3 years agoRollup merge of #74167 - jclulow:illumos-linker-eh-frame-hdr-fix, r=petrochenkov
Manish Goregaokar [Sat, 11 Jul 2020 15:53:19 +0000 (08:53 -0700)]
Rollup merge of #74167 - jclulow:illumos-linker-eh-frame-hdr-fix, r=petrochenkov

linker: illumos ld does not support --eh-frame-hdr

As of rust-lang/rust#73564, the --eh-frame-hdr flag is unconditionally
passed to linkers on many platforms.  The illumos link editor does not
currently support this flag.

The linker machinery in the Rust toolchain currently seems to use the
(potentially cross-compiled) target to choose linker flags, rather than
looking at what might be running on the build system.  Disabling the
flag for all illumos/Solaris targets seems like the best we can do for
now without more serious surgery.

3 years agoRollup merge of #74116 - arlosi:aarch64build, r=pietroalbini
Manish Goregaokar [Sat, 11 Jul 2020 15:53:18 +0000 (08:53 -0700)]
Rollup merge of #74116 - arlosi:aarch64build, r=pietroalbini

Fix cross compilation of LLVM to aarch64 Windows targets

When cross-compiling, the LLVM build system recurses to build tools that need to run on the host system. However, since we pass cmake defines to set the compiler and target, LLVM still compiles these tools for the target system, rather than the host. The tools then fail to execute during the LLVM build.

This change sets defines for the tools that need to run on the host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build does not attempt to build them, and instead relies on the tools already built.

If compiling with clang-cl, adds the `--target` option to specify the target triple. MSVC compilers do not require this, since there is a separate compiler binary for each cross-compilation target.

Related issue: #72881
Requires LLVM change: rust-lang/llvm-project#67

3 years agoRollup merge of #74066 - thomcc:optimize-is-ascii, r=nagisa
Manish Goregaokar [Sat, 11 Jul 2020 15:53:16 +0000 (08:53 -0700)]
Rollup merge of #74066 - thomcc:optimize-is-ascii, r=nagisa

Optimize is_ascii for str and [u8].

This optimizes the `is_ascii` function for `[u8]` and `str`. I've been surprised this wasn't done for a while, so I just did it.

Benchmarks comparing before/after look like:

```
test ascii::long_readonly::is_ascii_slice_iter_all              ... bench:         174 ns/iter (+/- 79) = 40172 MB/s
test ascii::long_readonly::is_ascii_slice_libcore               ... bench:          16 ns/iter (+/- 5) = 436875 MB/s
test ascii::medium_readonly::is_ascii_slice_iter_all            ... bench:          12 ns/iter (+/- 3) = 2666 MB/s
test ascii::medium_readonly::is_ascii_slice_libcore             ... bench:           2 ns/iter (+/- 0) = 16000 MB/s
test ascii::short_readonly::is_ascii_slice_iter_all             ... bench:           3 ns/iter (+/- 0) = 2333 MB/s
test ascii::short_readonly::is_ascii_slice_libcore              ... bench:           4 ns/iter (+/- 0) = 1750 MB/s
```

(Taken on a x86_64 macbook 2.9 GHz Intel Core i9 with 6 cores)

Where `is_ascii_slice_iter_all` is the old version, and `is_ascii_slice_libcore` is the new.

I tried to document the code well, so hopefully it's understandable. It has fairly exhaustive tests ensuring size/align doesn't get violated -- because `miri` doesn't really help a lot for this sort of code right now, I tried to `debug_assert` all the safety invariants I'm depending on. (Of course, none of them are required for correctness or soundness -- just allows us to test that this sort of pointer manipulation is sound and such).

Anyway, thanks. Let me know if you have questions/desired changes.

3 years agoRollup merge of #73715 - MaulingMonkey:pr-natvis-tuples, r=Amanieu
Manish Goregaokar [Sat, 11 Jul 2020 15:53:13 +0000 (08:53 -0700)]
Rollup merge of #73715 - MaulingMonkey:pr-natvis-tuples, r=Amanieu

debuginfo:  Mangle tuples to be natvis friendly, typedef basic types

These changes are meant to unblock rust-lang/rust#70052 "Update hashbrown to 0.8.0" by allowing the use of `tuple<u64, u64>` as a .natvis expression in MSVC style debuggers (MSVC, WinDbg, CDB, etc.)

f8eb81b does the actual mangling of `(u64, u64)` -> `tuple<u64, 64>`
24a728a allows `u64` to resolve (fixing `$T1` / `$T2` when used to visualize `HashMap<u64, u64, ...>`)

3 years agoRollup merge of #72920 - oli-obk:const_transmute, r=RalfJung
Manish Goregaokar [Sat, 11 Jul 2020 15:53:06 +0000 (08:53 -0700)]
Rollup merge of #72920 - oli-obk:const_transmute, r=RalfJung

Stabilize `transmute` in constants and statics but not const fn

cc #53605 (leaving issue open so we can add `transmute` to `const fn` later)

Previous attempt: #64011

r? @RalfJung

cc @rust-lang/wg-const-eval

3 years agoRollup merge of #72920 - oli-obk:const_transmute, r=RalfJung
Manish Goregaokar [Sat, 11 Jul 2020 15:53:06 +0000 (08:53 -0700)]
Rollup merge of #72920 - oli-obk:const_transmute, r=RalfJung

Stabilize `transmute` in constants and statics but not const fn

cc #53605 (leaving issue open so we can add `transmute` to `const fn` later)

Previous attempt: #64011

r? @RalfJung

cc @rust-lang/wg-const-eval

3 years agoImprove wording
Guillaume Gomez [Sat, 11 Jul 2020 15:34:11 +0000 (17:34 +0200)]
Improve wording

3 years agorustdoc: insert newlines between attributes
Andy Russell [Sun, 28 Jun 2020 22:20:06 +0000 (18:20 -0400)]
rustdoc: insert newlines between attributes

3 years agoAdd the test case mentioned in #74236
Dan Aloni [Sat, 11 Jul 2020 11:42:08 +0000 (14:42 +0300)]
Add the test case mentioned in #74236

3 years agoFix out of bounds access by checking length equality BEFORE accessing by index.
Matthias Krüger [Sat, 11 Jul 2020 10:28:21 +0000 (12:28 +0200)]
Fix out of bounds access by checking length equality BEFORE accessing by index.

Fixes #5780

3 years agoRISC-V GNU/Linux as host platform
msizanoen1 [Sat, 30 Nov 2019 12:47:59 +0000 (19:47 +0700)]
RISC-V GNU/Linux as host platform