Commit Graph

123307 Commits

Author SHA1 Message Date
Manish Goregaokar
aedb7c37b8
Rollup merge of #74334 - jyn514:config-toml-docs, r=spastorino
bootstrap: Improve wording on docs for `verbose-tests`

From https://github.com/rust-lang/rustc-dev-guide/pull/795#discussion_r454392291

r? @spastorino
2020-07-14 13:19:35 -07:00
Manish Goregaokar
1cd8c5e4ee
Rollup merge of #74332 - ehuss:update-cargo, r=ehuss
Update cargo

4 commits in 4f74d9b2a771c58b7ef4906b2668afd075bc8081..43cf77395cad5b79887b20b7cf19d418bbd703a9
2020-07-08 17:13:00 +0000 to 2020-07-13 17:35:42 +0000
- fix: add space to comments (rust-lang/cargo#8476)
- Allow configuring unstable flags via config file (rust-lang/cargo#8393)
- Add support for rustc's `-Z terminal-width`. (rust-lang/cargo#8427)
- Avoid colliding with older Cargo fingerprint changes (rust-lang/cargo#8473)
2020-07-14 13:19:33 -07:00
Manish Goregaokar
92e90f943c
Rollup merge of #74272 - davidtwco:issue-73626-multiline-mixed-comments, r=Mark-Simulacrum
pprust: support multiline comments within lines

Fixes #73626.

This PR adds support to `rustc_ast_pretty` for multiline comments that start and end within a line of source code.

Fun fact: [the commit which added this assert](d12ea39896) was from 2011!
d12ea39896/src/comp/pretty/pprust.rs (L1146-L1150)
2020-07-14 13:19:32 -07:00
Manish Goregaokar
7b1247c34f
Rollup merge of #74271 - lzutao:cmdbytes, r=LukasKalbertodt
process_unix: prefer i32::*_be_bytes over manually shifting bytes

This PR makes it more clear about the intend of the code.
2020-07-14 13:19:30 -07:00
Manish Goregaokar
fadd91c630
Rollup merge of #74263 - RalfJung:thread-local, r=Mark-Simulacrum
Slight reorganization of sys/(fast_)thread_local

I was long confused by the `thread_local` and `fast_thread_local` modules in the `sys(_common)` part of libstd. The names make it *sound* like `fast_thread_local` is just a faster version of `thread_local`, but really these are totally different APIs: one provides thread-local "keys", which are non-addressable pointer-sized pieces of local storage with an associated destructor; the other (the "fast" one) provides just a destructor.

So I propose we rename `fast_thread_local` to `thread_local_dtor`, and `thread_local` to `thread_local_key`. That's what this PR does.
2020-07-14 13:19:28 -07:00
Manish Goregaokar
1e74f28599
Rollup merge of #74252 - shepmaster:bootstrap-rust-destdir, r=Mark-Simulacrum
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-14 13:19:26 -07:00
Manish Goregaokar
a364c0a782
Rollup merge of #74228 - estebank:unsized-param, r=davidtwco
Provide structured suggestion on unsized fields and fn params

* Suggest borrowing or boxing unsized fields
* Suggest borrowing fn parameters
* Remove some verbosity of unsized errors
* Remove `on_unimplemented` note from `trait Sized`

Fix #23286, fix #28653.

r? @davidtwco
2020-07-14 13:19:24 -07:00
Manish Goregaokar
be5c7abfd6
Rollup merge of #74211 - estebank:struct-pat-as-unit, r=petrochenkov
Structured suggestion when not using struct pattern

r? @petrochenkov
2020-07-14 13:19:22 -07:00
Manish Goregaokar
353df59893
Rollup merge of #73759 - GuillaumeGomez:stdin-examples, r=Dylan-DPC
Add missing Stdin and StdinLock examples

r? @Dylan-DPC
2020-07-14 13:19:20 -07:00
Esteban Küber
ff75395ca8 Reword message 2020-07-14 12:19:50 -07:00
Esteban Küber
c38b127d84 Remove redundant explanatory note for type parameters 2020-07-14 12:19:44 -07:00
Esteban Küber
d989796b47 Suggest borrowing in more unsized fn param cases 2020-07-14 10:50:24 -07:00
Esteban Küber
b7db6bb5af Remove Sized on_unimplemented note 2020-07-14 10:50:24 -07:00
Esteban Küber
28e6f1f5b9 Suggest boxing or borrowing unsized fields 2020-07-14 10:50:24 -07:00
Esteban Küber
a15bda4036 Point at type on E0275 instead of whole field 2020-07-14 10:50:24 -07:00
Esteban Küber
c88409de13 Suggest borrowing unsized argument types 2020-07-14 10:50:24 -07:00
Esteban Küber
04298204ed 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.
2020-07-14 10:41:44 -07:00
bors
2002ebacfb 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
2020-07-14 17:11:02 +00:00
Joshua Nelson
ba661d829d bootstrap: Improve wording on docs for verbose-tests 2020-07-14 11:11:24 -04:00
Eric Huss
4c9e67a7d7 Update cargo 2020-07-14 07:50:18 -07:00
Manish Goregaokar
5414eae452
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
2020-07-14 07:39:19 -07:00
Manish Goregaokar
2fb307aca5
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!
2020-07-14 07:39:17 -07:00
Manish Goregaokar
99c0b9764a
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
2020-07-14 07:39:15 -07:00
Manish Goregaokar
e8703e88fc
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
2020-07-14 07:39:13 -07:00
Manish Goregaokar
1114f2231a
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
2020-07-14 07:39:11 -07:00
Manish Goregaokar
6513578584
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
2020-07-14 07:39:10 -07:00
Manish Goregaokar
aa9dc703c2
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.
2020-07-14 07:39:08 -07:00
Manish Goregaokar
98ceb90279
Rollup merge of #74227 - erikdesjardins:layun, r=estebank
Remove an unwrap in layout computation

A tiny improvement.
2020-07-14 07:39:06 -07:00
Manish Goregaokar
063bbc485e
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.
2020-07-14 07:39:04 -07:00
Manish Goregaokar
b9a0f5803e
Rollup merge of #74173 - estebank:struct-pat-as-enum, r=petrochenkov
Detect tuple struct incorrectly used as struct pat

Subpart of #74005.

r? @petrochenkov
2020-07-14 07:39:02 -07:00
Manish Goregaokar
79894dfbac
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
2020-07-14 07:39:00 -07:00
Manish Goregaokar
6a4faa2da1
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
2020-07-14 07:38:58 -07:00
Manish Goregaokar
905c4e05e1
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
2020-07-14 07:38:56 -07:00
Manish Goregaokar
5e61827dd3
Rollup merge of #73720 - GuillaumeGomez:cleanup-e0704, r=Dylan-DPC
Clean up E0704 error explanation

r? @Dylan-DPC
2020-07-14 07:38:53 -07:00
Manish Goregaokar
03f565cdbf
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.
2020-07-14 07:38:50 -07:00
flip1995
f82ac4d448
Merge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup 2020-07-14 14:59:59 +02:00
Yoshua Wuyts
0e9a20f311 Remove unnecessary type hints from the Wake impl 2020-07-14 11:59:11 +02:00
bors
2ca58e7dda 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"
2020-07-14 09:39:01 +00:00
bors
12df6384b9 Auto merge of #5773 - giraffate:repeat_once, r=flip1995
Add a lint for `.repeat(1)`

changelog: New lint `repeat_once`

fix #3028.
2020-07-14 09:13:58 +00:00
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