143264 Commits

Author SHA1 Message Date
Yuki Okushi
a4dbb8c909
Rollup merge of #84740 - r00ster91:patch-6, r=GuillaumeGomez
Reset the docs' copy path button after 1 second

I like that this copy path button on the top next to the type/module's name changes to a check mark when you successfully clicked and copied the path but I find it really weird how the icon stays that check mark forever after the first time of clicking it. Imagine you leave that documentation tab open and come back after 2 hours and you still see that check mark in that box because you copied the path 2 hours ago. You will probably be confused and you might've forgotten what that button even does (even more so currently where this is a new feature, or when you simply don't use it often), so I really think at some point it should go back to the ⎘ icon which, at least to me, pretty clearly indicates copying, whereas the check mark (if it stays there for so long) could falsely look like a verification mark indicating "this module is verified" or something like that.
I believe after a longer period of time it's not logical to still tell the user "yes you've copied this successful".

In addition to this timeout, maybe it could be made so that you can't copy again until this cooldown of 1 second is over, but I'm not sure how useful or user-friendly that feature would be so maybe it's fine the way it is now.
Also the timeout is cleared every time you click again so if you constantly click it, it won't reset during that.
2021-05-01 18:32:35 +09:00
Yuki Okushi
4d6d26ec6d
Rollup merge of #84724 - MaskRay:sys-fs, r=petrochenkov
Replace llvm::sys::fs::F_None with llvm::sys::fs::OF_None

The former is deprecated.
OF_None has been available in LLVM since 2018-06.

-----

OF_None (https://reviews.llvm.org/rG1f67a3cba9b09636c56e2109d8a35ae96dc15782) exists in LLVM 9.
https://reviews.llvm.org/D101506 may drop `F_None` support.
2021-05-01 18:32:34 +09:00
Yuki Okushi
e69f1fd46a
Rollup merge of #84704 - joshtriplett:platform-support-target-tier-policy, r=pietroalbini
platform-support.md: Update for consistency with Target Tier Policy

Split into five sections to match the tiers: "Tier 1 with Host Tools",
"Tier 1", "Tier 2 with Host Tools", "Tier 2", and "Tier 3". Explain each
tier briefly in prose, and link to the corresponding section of the
policy for full requirements.

Drop the `host` columns from the first four, since the different
sections distinguish that. (Keep the `host` column for "Tier 3", since
it's a single list and the `host` column just indicates if host tools
are expected to work.)

Targets with host tools always have full support for std, so drop the
`std` column from those.

Move the explanations of the `std` column next to the appropriate
tables, and drop the unknown/WIP case for tier 2 targets.

Use "target" terminology consistently throughout.

Sort each table by target name.
2021-05-01 18:32:33 +09:00
Yuki Okushi
e30d952d8b
Rollup merge of #84601 - tdelabro:rustdoc-get-rid-of-cache-extern_locations, r=jyn514
rustdoc: Only store locations in Cache::extern_locations and calculate the other info on-demand

 help #84588
2021-05-01 18:32:31 +09:00
bors
1c2c6b6700 Auto merge of #84582 - richkadel:issue-84561, r=tmandry
Vastly improves coverage spans for macros

Fixes: #84561

This resolves problems where macros like `trace!(...)` would show zero coverage if tracing was disabled, and `assert_eq!(...)` would show zero coverage if the assertion did not fail, because only one coverage span was generated, for the branch.

This PR started with an idea that I could just drop branching blocks with same span as expanded macro. (See the fixed issue for more details.)

That did help, but it didn't resolve everything.

I also needed to add a span specifically for the macro name (plus `!`) to ensure the macro gets coverage even if it's internal expansion adds conditional branching blocks that are retained, and would otherwise drop the outer span. Now that outer span is _only_ the `(argument, list)`, which can safely be dropped now), because the macro name has its own span.

While testing, I also noticed the spanview debug output can cause an ICE on a function with no body. The
workaround for this is included in this PR (separate commit).

r? `@tmandry`
cc? `@wesleywiser`
2021-05-01 07:48:24 +00:00
Joshua Nelson
dadcb0550d Allow formatting specific subdirectories 2021-05-01 01:57:15 -04:00
Joshua Nelson
3b4b1eab90 Don't check bootstrap artifacts by default
Bootstrap has to build successfully or this won't run, so all it checks
are the tests, which are uncommon to change.
2021-05-01 01:38:45 -04:00
Joshua Nelson
d95a6cf911 Add support for --test-args to cargotest
This allows running a single test without having to wait for all tests
to complete.
2021-05-01 01:13:53 -04:00
Joshua Nelson
1da4445109 Apply --cfg parallel_compiler when documenting
This also reverts commit 9823c2cc700fea541bf2670fcee93af662b63022
working around the bug.
2021-05-01 00:25:11 -04:00
Matthew James Kraai
b86ca0ba72 Fix misspelling 2021-04-30 20:14:53 -07:00
bors
3d67e07472 Auto merge of #84463 - jyn514:refactor-impl, r=CraftSpider
rustdoc: Remove unnecessary `provided_trait_methods` field from Impl

It can be calculated on-demand.

Helps with https://github.com/rust-lang/rust/issues/76382.
2021-05-01 02:53:55 +00:00
Joshua Nelson
b1f5917930 Remove unnecessary provided_trait_methods field from Impl
It can be calculated on-demand.
2021-04-30 21:38:43 -04:00
bors
b52769b804 Auto merge of #84747 - pietroalbini:bump-version, r=pietroalbini
Bump version to 1.54.0

cc `@Mark-Simulacrum`
r? `@ghost`
2021-05-01 00:31:56 +00:00
Eric Huss
9570bc92ad Update cargo 2021-04-30 15:57:47 -07:00
Daniel Silverman
fe68b1ab32 Fix linker_args with --target=sparcv9-sun-solaris
Moved -z ignore to add_as_needed

Trying to cross-compile for sparcv9-sun-solaris
getting an error message for -zignore

Introduced when -z -ignore was separated here
22d0ab0

No formatting done

Reproduce

``` bash
rustup target add sparcv9-sun-solaris
cargo new --bin hello && cd hello && cargo run --target=sparcv9-sun-solaris
```

config.toml

[target.sparcv9-sun-solaris]
linker = "gcc"
2021-04-30 15:53:14 -07:00
bors
8a9fa3682d Auto merge of #84719 - Mark-Simulacrum:reduce-query-impl, r=davidtwco
Move iter_results to dyn FnMut rather than a generic

This means that we're no longer generating the iteration/locking code for each invocation site of iter_results, rather just once per query (roughly), which seems much better: this is a 15% win in instruction counts when compiling the rustc_query_impl crate. The code where this is used also is pretty cold, I suspect; the old solution didn't fully monomorphize either.
2021-04-30 22:21:07 +00:00
bors
4ae0a8e413 Auto merge of #84753 - hyd-dev:update-miri, r=RalfJung
Update Miri

To include rust-lang/miri#1783, hence fixes #84741.

r? `@RalfJung`
2021-04-30 19:55:47 +00:00
Amanieu d'Antras
09cfb248e7 Avoid using rbx in SGX inline assembly since it is reserved 2021-04-30 18:27:12 +01:00
Erin Power
ef53ebc5da Merge commit '15c8d31392b9fbab3b3368b67acc4bbe5983115a' into cranelift-rebase 2021-04-30 18:46:59 +02:00
XAMPPRocky
15c8d31392
No-op register_jit on Windows (#1170)
* No-op register_jit on Windows

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2021-04-30 18:44:20 +02:00
bors
841244dff0 Auto merge of #7146 - mgacek8:mgacek8-small-fix, r=flip1995
Small fix in CONTRIBUTING.md

This is a section for `IntelliJ Rust`, not `rust-analyzer`.
changelog: none
2021-04-30 15:39:09 +00:00
Mateusz Gacek
a7dc1ca80a
Small fix in CONTRIBUTING.md 2021-04-30 17:27:42 +02:00
Jan-Erik Rediger
308ac3bc98 Add a ToC to the Target Tier Policy documentation 2021-04-30 17:18:58 +02:00
bors
a300b0e66c Auto merge of #7144 - rust-lang:while_immutable_mut_cond, r=flip1995
while_immutable_cond: check condition for mutation

This fixes #6689 by also checking the bindings mutated in the condition, whereas it was previously only checked in the loop body.

---

changelog: Fix FP in [`while_immutable_cond`] where mutation in the loop variable wasn't picked up.
2021-04-30 15:08:27 +00:00
Joshua Nelson
4a63e1e991 Allow using core:: in intra-doc links within core itself
I came up with this idea ages ago, but rustdoc used to ICE on it. Now it
doesn't.
2021-04-30 14:57:07 +00:00
bors
5e49c4bd67 Auto merge of #6951 - Jarcho:implicit_return_fp, r=flip1995
`implicit_return` improvements

fixes: #6940

changelog: Fix `implicit_return` suggestion for async functions
changelog: Improve `implicit_return` suggestions when returning the result of a macro
changelog: Check for `break` expressions inside a loop which are then implicitly returned
changelog: Allow all diverging functions in `implicit_return`, not just panic functions
2021-04-30 14:55:56 +00:00
bors
8fef006d44 Auto merge of #84654 - alexcrichton:update-llvm-, r=cuviper
Update LLVM for more wasm simd updates

This fixes the temporary regression introduced in #84339 where the wasm
target uses `fpto{s,u}i` intrinsics but the codegen for those intrinsics
with the `+nontrapping-fptoint` LLVM feature wasn't very good (aka it
didn't use the wasm instruction). The fixes brought in here fix that and
also implement the second-to-last simd instruction in LLVM.
2021-04-30 14:39:27 +00:00
lrh2000
5bf989ece9 Remove artificial flag from generator variants
- Literally, variants are not artificial. We have `yield` statements,
   upvars and inner variables in the source code.
 - Functionally, we don't want debuggers to suppress the variants. It
   contains the state of the generator, which is useful when debugging.
   So they shouldn't be marked artificial.
 - Debuggers may use artificial flags to find the active variant. In
   this case, marking variants artificial will make debuggers not work
   properly.

Fixes #79009.
2021-04-30 22:36:08 +08:00
Amanieu d'Antras
eadcbb5240 Update LLVM submodule
Fixes #84025
2021-04-30 07:28:40 -07:00
Alex Crichton
29a12f71f3 Update LLVM for more wasm simd updates
This fixes the temporary regression introduced in #84339 where the wasm
target uses `fpto{s,u}i` intrinsics but the codegen for those intrinsics
with the `+nontrapping-fptoint` LLVM feature wasn't very good (aka it
didn't use the wasm instruction). The fixes brought in here fix that and
also implement the second-to-last simd instruction in LLVM.
2021-04-30 07:27:34 -07:00
hyd-dev
3be4d4b5f0
Update Miri 2021-04-30 22:22:35 +08:00
Joshua Nelson
69f3ead6b0 Don't download cargo twice when download-rustc is set
Previously, this caused a bug on NixOS:

1. bootstrap.py would download and patch stage0/cargo
2. bootstrap.py would download nightly cargo, but extract it to
   stage0/cargo instead of ci-rustc/cargo.
3. bootstrap.py would fail to build rustbuild because stage0/cargo
   wasn't patched.

The "proper" fix is to extract nightly cargo to ci-rustc instead, but it
doesn't seem to be necessary at all, so this just skips downloading it
instead.
2021-04-30 14:19:26 +00:00
Erin Power
9d07b92990 [cg_clif] Fix run_jit from sync 2021-04-30 15:37:19 +02:00
Pietro Albini
d19d123a4e
bump version to 1.54.0 2021-04-30 15:24:00 +02:00
Erin Power
505aa48f24 Sync rustc_codegen_cranelift 'ddd4ce25535cf71203ba3700896131ce55fde795' 2021-04-30 14:49:58 +02:00
bors
7506228e2e Auto merge of #84716 - joshtriplett:chroot, r=dtolnay
Add std::os::unix::fs::chroot to change the root directory of the current process

This is a straightforward wrapper that uses the existing helpers for C
string handling and errno handling.

Having this available is convenient for UNIX utility programs written in
Rust, and avoids having to call the unsafe `libc::chroot` directly and
handle errors manually, in a program that may otherwise be entirely safe
code.
2021-04-30 12:19:37 +00:00
Aliénore Bouttefeux
3273d2f719 error when --no-run is present without --test 2021-04-30 12:36:22 +02:00
r00ster
bea99a5da6
copy_path -> window.copy_path + add semicolon 2021-04-30 12:06:15 +02:00
bors
49920bc581 Auto merge of #84522 - CDirkx:cmath, r=yaahc
Reuse `sys::unix::cmath` on other platforms

Reuse `sys::unix::cmath` on all non-`windows` platforms.

`unix` is chosen as the canonical location instead of `unsupported` or `common` because `unsupported` doesn't make sense semantically and `common` is reserved for code that is supported on all platforms. Also `unix` is already the home of some non-`windows` code that is technically not exclusive to `unix` like `unix::path`.
2021-04-30 09:52:32 +00:00
r00ster
c4fe7c4a30
Apply suggestions 2021-04-30 11:42:07 +02:00
bjorn3
ddd4ce2553 Remove unused parameter 2021-04-30 10:52:37 +02:00
lrh2000
060deec4b1 Move outer fields of enums into variant parts in debuginfo
All fields except the discriminant (including `outer_fields`)
should be put into structures inside the variant part, which gives
an equivalent layout but offers us much better integration with
debuggers.
2021-04-30 16:30:25 +08:00
r00ster
ada5d2f9dc
Reset the docs' copy path button after 1 second 2021-04-30 10:18:14 +02:00
Rich Kadel
0312bf5fb9 Rebuilt out of date tests and fixed an old bug now exposed 2021-04-30 01:10:48 -07:00
Josh Triplett
ffb874ac90 Add std::os::unix::fs::chroot to change the root directory of the current process
This is a straightforward wrapper that uses the existing helpers for C
string handling and errno handling.

Having this available is convenient for UNIX utility programs written in
Rust, and avoids having to call the unsafe `libc::chroot` directly and
handle errors manually, in a program that may otherwise be entirely safe
code.
2021-04-30 00:11:03 -07:00
bors
bcd696d722 Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov
Implement RFC 1260 with feature_name `imported_main`.

This is the second extraction part of #84062 plus additional adjustments.
This (mostly) implements RFC 1260.

However there's still one test case failure in the extern crate case. Maybe `LocalDefId` doesn't work here? I'm not sure.

cc https://github.com/rust-lang/rust/issues/28937
r? `@petrochenkov`
2021-04-30 06:59:37 +00:00
bors
5491c802c2 Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov
Implement RFC 1260 with feature_name `imported_main`.

This is the second extraction part of #84062 plus additional adjustments.
This (mostly) implements RFC 1260.

However there's still one test case failure in the extern crate case. Maybe `LocalDefId` doesn't work here? I'm not sure.

cc https://github.com/rust-lang/rust/issues/28937
r? `@petrochenkov`
2021-04-30 06:59:37 +00:00
bors
14f1551075 Auto merge of #7118 - TaKO8Ki:fix-false-positive-in-comparison-chain, r=giraffate
Fix a false-positive inside const fn in `comparison_chain`

closes https://github.com/rust-lang/rust-clippy/issues/7082

changelog: fix a false-positive inside const fn in [`comparison_chain`]
2021-04-30 06:30:38 +00:00
Takayuki
0dff377a62 use in_constant 2021-04-30 14:40:35 +09:00
Tyler Mandry
1e46b18fec Fix help for profile flags 2021-04-30 04:12:37 +00:00