]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoupdate clippy test ouput
Vishnunarayan K I [Fri, 13 Nov 2020 11:41:13 +0000 (17:11 +0530)]
update clippy test ouput

3 years agoPush to result vector instead of allocating
Dániel Buga [Thu, 22 Oct 2020 13:06:24 +0000 (15:06 +0200)]
Push to result vector instead of allocating

Co-authored-by: lcnr <bastian_kauschke@hotmail.de>
3 years agoReuse vector
Dániel Buga [Wed, 14 Oct 2020 08:54:17 +0000 (10:54 +0200)]
Reuse vector

3 years agoReserve space in advance
Dániel Buga [Fri, 16 Oct 2020 09:43:39 +0000 (11:43 +0200)]
Reserve space in advance

3 years agoAllocate less in lower_block_noalloc
Dániel Buga [Fri, 16 Oct 2020 14:43:42 +0000 (16:43 +0200)]
Allocate less in lower_block_noalloc

3 years agoEliminate some temporary vectors & Remove unnecessary mark_attr_used
Dániel Buga [Thu, 15 Oct 2020 19:20:00 +0000 (21:20 +0200)]
Eliminate some temporary vectors & Remove unnecessary mark_attr_used

3 years agoAuto merge of #79014 - pietroalbini:1.50, r=pietroalbini
bors [Fri, 13 Nov 2020 09:07:29 +0000 (09:07 +0000)]
Auto merge of #79014 - pietroalbini:1.50, r=pietroalbini

Bump version number to 1.50.0

First PR of the release process of Rust 1.48.0. All PRs landed after this one will be included in Rust 1.50.0.

r? `@ghost`
cc `@rust-lang/release`

3 years agobump version to 1.50.0
Pietro Albini [Fri, 13 Nov 2020 08:47:16 +0000 (09:47 +0100)]
bump version to 1.50.0

3 years agoAuto merge of #78826 - petrochenkov:mrscopes2, r=eddyb
bors [Fri, 13 Nov 2020 05:40:37 +0000 (05:40 +0000)]
Auto merge of #78826 - petrochenkov:mrscopes2, r=eddyb

resolve: Collapse `macro_rules` scope chains on the fly

Otherwise they grow too long and you have to endlessly walk through them when resolving macros or imports.
Addresses https://rust-lang.zulipchat.com/#narrow/stream/247081-t-compiler.2Fperformance/topic/Slow.20Builtin.20Derives/near/215750815

3 years agoClean up outdated `use_once_payload` pretty printer comment
J. Ryan Stinnett [Fri, 13 Nov 2020 05:27:36 +0000 (05:27 +0000)]
Clean up outdated `use_once_payload` pretty printer comment

While reading some parts of the pretty printer code, I noticed this old comment
which seemed out of place. The `use_once_payload` this outdated comment mentions
was removed in 2017 in 40f03a1e0d6702add1922f82d716d5b2c23a59f0, so this
completes the work by removing the comment.

3 years agoUpdate library/std/src/collections/hash/map.rs
Tom Kaitchuck [Fri, 13 Nov 2020 04:14:57 +0000 (20:14 -0800)]
Update library/std/src/collections/hash/map.rs

Co-authored-by: Mara Bos <m-ou.se@m-ou.se>
3 years agoUpdate cargo
Eric Huss [Fri, 13 Nov 2020 02:39:16 +0000 (18:39 -0800)]
Update cargo

3 years agoAuto merge of #78990 - RalfJung:miri, r=RalfJung
bors [Fri, 13 Nov 2020 02:04:53 +0000 (02:04 +0000)]
Auto merge of #78990 - RalfJung:miri, r=RalfJung

update Miri

Fixes https://github.com/rust-lang/rust/issues/78937
Cc `@rust-lang/miri` r? `@ghost`

3 years agoAdded a unit test for BcbCounters
Rich Kadel [Fri, 13 Nov 2020 00:08:42 +0000 (16:08 -0800)]
Added a unit test for BcbCounters

Restructured the code a little, to allow getting both the mir::Body and
coverage graph.

3 years agoAuto merge of #78998 - m-ou-se:rollup-6r4pt9m, r=m-ou-se
bors [Thu, 12 Nov 2020 23:23:56 +0000 (23:23 +0000)]
Auto merge of #78998 - m-ou-se:rollup-6r4pt9m, r=m-ou-se

Rollup of 7 pull requests

Successful merges:

 - #76730 (Fix rustdoc rendering of by-value mutable arguments in async fn)
 - #78836 (Implement destructuring assignment for structs and slices)
 - #78857 (Improve BinaryHeap performance)
 - #78950 (Add asm register information for SPIR-V)
 - #78970 (update rustfmt to v1.4.25)
 - #78972 (Update cargo)
 - #78987 (extend min_const_generics param ty tests)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agocleanup: Remove `ParseSess::injected_crate_name`
Vadim Petrochenkov [Thu, 12 Nov 2020 21:35:46 +0000 (00:35 +0300)]
cleanup: Remove `ParseSess::injected_crate_name`

3 years agoEnsure that INVALID_CODEBLOCK_ATTRIBUTES lint is emitted
Guillaume Gomez [Thu, 12 Nov 2020 20:55:26 +0000 (21:55 +0100)]
Ensure that INVALID_CODEBLOCK_ATTRIBUTES lint is emitted

3 years agoAdd `--color` support to bootstrap
Joshua Nelson [Thu, 12 Nov 2020 21:23:35 +0000 (16:23 -0500)]
Add `--color` support to bootstrap

This allows using bootstrap with https://github.com/Canop/bacon.

3 years agoUpgrading dlmalloc to 0.2.1
Raoul Strackx [Mon, 9 Nov 2020 17:20:49 +0000 (09:20 -0800)]
Upgrading dlmalloc to 0.2.1

3 years agoAlways use param_env_reveal_all_normalized in validator
Tomasz Miąsko [Thu, 12 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Always use param_env_reveal_all_normalized in validator

3 years agoNormalize function type during validation
Tomasz Miąsko [Thu, 12 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Normalize function type during validation

During inlining, the callee body is normalized and has types revealed,
but some of locals corresponding to the arguments might come from the
caller body which is not. As a result the caller body does not pass
validation without additional normalization.

3 years ago./x.py test --bless
Tomasz Miąsko [Wed, 11 Nov 2020 00:00:00 +0000 (00:00 +0000)]
./x.py test --bless

3 years agoNever inline C variadic functions
Tomasz Miąsko [Wed, 11 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Never inline C variadic functions

3 years agoFix generator inlining by checking for rust-call abi and spread arg
Tomasz Miąsko [Wed, 11 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Fix generator inlining by checking for rust-call abi and spread arg

3 years agorustc_parse: Remove optimization for 0-length streams in `collect_tokens`
Vadim Petrochenkov [Wed, 4 Nov 2020 13:27:11 +0000 (16:27 +0300)]
rustc_parse: Remove optimization for 0-length streams in `collect_tokens`

The optimization conflates empty token streams with unknown token stream, which is at least suspicious, and doesn't affect performance because 0-length token streams are very rare.

3 years agoRemove check for impossible condition
Tomasz Miąsko [Wed, 11 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Remove check for impossible condition

The callee body is already transformed; the condition is always false.

3 years agoNever inline cold functions
Tomasz Miąsko [Wed, 11 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Never inline cold functions

The information about cold attribute is lost during inlining,
Avoid the issue by never inlining cold functions.

3 years agoNever inline when `no_sanitize` attributes differ
Tomasz Miąsko [Wed, 11 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Never inline when `no_sanitize` attributes differ

The inliner looks if a sanitizer is enabled before considering
`no_sanitize` attribute as possible source of incompatibility.

The MIR inlining could happen in a crate with sanitizer disabled, but
code generation in a crate with sanitizer enabled, thus the attribute
would be incorrectly ignored.

To avoid the issue never inline functions with different `no_sanitize`
attributes.

3 years agoRollup merge of #78987 - lcnr:integer-sizes, r=varkor
Mara Bos [Thu, 12 Nov 2020 18:46:19 +0000 (19:46 +0100)]
Rollup merge of #78987 - lcnr:integer-sizes, r=varkor

extend min_const_generics param ty tests

Apparently we never tested for `u128` and `i128` before this, so I added a test for all types which are allowed.

r? ``@varkor``

3 years agoRollup merge of #78972 - ehuss:update-cargo, r=ehuss
Mara Bos [Thu, 12 Nov 2020 18:46:17 +0000 (19:46 +0100)]
Rollup merge of #78972 - ehuss:update-cargo, r=ehuss

Update cargo

5 commits in d5556aeb8405b1fe696adb6e297ad7a1f2989b62..8662ab427a8d6ad8047811cc4d78dbd20dd07699
2020-11-04 22:20:36 +0000 to 2020-11-12 03:47:53 +0000
- Check if rust-src contains a vendor dir, and patch it in (rust-lang/cargo#8834)
- Improve performance of almost fresh builds (rust-lang/cargo#8837)
- Use u32/64::to/from_le_bytes instead of bit fiddling (rust-lang/cargo#8847)
- Avoid constructing an anyhow::Error when not necessary (rust-lang/cargo#8844)
- Skip extracting .cargo-ok files from packages (rust-lang/cargo#8835)

3 years agoRollup merge of #78970 - calebcartwright:update-rustfmt, r=Aaron1011
Mara Bos [Thu, 12 Nov 2020 18:46:16 +0000 (19:46 +0100)]
Rollup merge of #78970 - calebcartwright:update-rustfmt, r=Aaron1011

update rustfmt to v1.4.25

Contains changes from https://github.com/rust-lang/rustfmt/pull/4507

r? ``@Aaron1011``

3 years agoRollup merge of #78950 - khyperia:spirv-asm, r=Amanieu
Mara Bos [Thu, 12 Nov 2020 18:46:14 +0000 (19:46 +0100)]
Rollup merge of #78950 - khyperia:spirv-asm, r=Amanieu

Add asm register information for SPIR-V

As discussed in [zulip](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Defining.20asm!.20for.20new.20architecture), we at [rust-gpu](https://github.com/EmbarkStudios/rust-gpu) would like to support `asm!` for our SPIR-V backend. However, we cannot do so purely without frontend support: [this match](https://github.com/rust-lang/rust/blob/d4ea0b3e46a0303d5802b632e88ba1ba84d9d16f/compiler/rustc_target/src/asm/mod.rs#L185) fails and so `asm!` is not supported ([error reported here](https://github.com/rust-lang/rust/blob/d4ea0b3e46a0303d5802b632e88ba1ba84d9d16f/compiler/rustc_ast_lowering/src/expr.rs#L1095)). To resolve this, we need to stub out register information for SPIR-V to support getting the `asm!` content all the way to [`AsmBuilderMethods::codegen_inline_asm`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/traits/trait.AsmBuilderMethods.html#tymethod.codegen_inline_asm), at which point the rust-gpu backend can do all the parsing and codegen that is needed.

This is a pretty weird PR - adding support for a backend that isn't in-tree feels pretty gross to me, but I don't see an easy way around this. ``@Amanieu`` said I should submit it anyway, so, here we are! Let me know if this needs to go through a more formal process (MCP?) and what I should do to help this along.

I based this off the [wasm asm PR](https://github.com/rust-lang/rust/pull/78684), which unfortunately this PR conflicts with that one quite a bit, sorry for any merge conflict pain :(

---

Some open questions:

- What do we call the register class? Some context, SPIR-V is an SSA-based IR, there are "instructions" that create IDs (referred to as `<id>` in the spec), which can be referenced by other instructions. So, `reg` isn't exactly accurate, they're SSA IDs, not re-assignable registers.
- What happens when a SPIR-V register gets to the LLVM backend? Right now it's a `bug!`, but should that be a `sess.fatal()`? I'm not sure if it's even possible to reach that point, maybe there's a check that prevents the `spirv` target from even reaching that codepath.

3 years agoRollup merge of #78857 - SkiFire13:bheap-opt, r=KodrAus
Mara Bos [Thu, 12 Nov 2020 18:46:11 +0000 (19:46 +0100)]
Rollup merge of #78857 - SkiFire13:bheap-opt, r=KodrAus

Improve BinaryHeap performance

By changing the condition in the loops from `child < end` to `child < end - 1` we're guaranteed that `right = child + 1 < end` and since finding the index of the biggest sibling can be done with an arithmetic operation we can remove a branch from the loop body. The case where there's no right child, i.e. `child == end - 1` is instead handled outside the loop, after it ends; note that if the loops ends early we can use `return` instead of `break` since the check `child == end - 1` will surely fail.

I've also removed a call to `<[T]>::swap` that was hiding a bound check that [wasn't being optimized by LLVM](https://godbolt.org/z/zrhdGM).

A quick benchmarks on my pc shows that the gains are pretty significant:

|name                 |before ns/iter  |after ns/iter  |diff ns/iter  |diff %    |speedup |
|---------------------|----------------|---------------|--------------|----------|--------|
|find_smallest_1000   | 352,565        | 260,098       |     -92,467  | -26.23%  | x 1.36 |
|from_vec             | 676,795        | 473,934       |    -202,861  | -29.97%  | x 1.43 |
|into_sorted_vec      | 469,511        | 304,275       |    -165,236  | -35.19%  | x 1.54 |
|pop                  | 483,198        | 373,778       |    -109,420  | -22.64%  | x 1.29 |

The other 2 benchmarks for `BinaryHeap` (`peek_mut_deref_mut` and `push`) weren't impacted and as such didn't show any significant change.

3 years agoRollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov
Mara Bos [Thu, 12 Nov 2020 18:46:09 +0000 (19:46 +0100)]
Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov

Implement destructuring assignment for structs and slices

This is the second step towards implementing destructuring assignment (RFC: rust-lang/rfcs#2909, tracking issue: #71126). This PR is the second part of #71156, which was split up to allow for easier review.

Note that the first PR (#78748) is not merged yet, so it is included as the first commit in this one. I thought this would allow the review to start earlier because I have some time this weekend to respond to reviews. If ``@petrochenkov`` prefers to wait until the first PR is merged, I totally understand, of course.

This PR implements destructuring assignment for (tuple) structs and slices. In order to do this, the following *parser change* was necessary: struct expressions are not required to have a base expression, i.e. `Struct { a: 1, .. }` becomes legal (in order to act like a struct pattern).

Unfortunately, this PR slightly regresses the diagnostics implemented in #77283. However, it is only a missing help message in `src/test/ui/issues/issue-77218.rs`. Other instances of this diagnostic are not affected. Since I don't exactly understand how this help message works and how to fix it yet, I was hoping it's OK to regress this temporarily and fix it in a follow-up PR.

Thanks to ``@varkor`` who helped with the implementation, particularly around the struct rest changes.

r? ``@petrochenkov``

3 years agoRollup merge of #76730 - ebkalderon:rustdoc-fix-mut-args-async-fn, r=tmandry
Mara Bos [Thu, 12 Nov 2020 18:46:08 +0000 (19:46 +0100)]
Rollup merge of #76730 - ebkalderon:rustdoc-fix-mut-args-async-fn, r=tmandry

Fix rustdoc rendering of by-value mutable arguments in async fn

r? `@jyn514`

Fixes #76517.

3 years agocg: add explicit test for const param promotion
Bastian Kauschke [Thu, 12 Nov 2020 18:20:47 +0000 (19:20 +0100)]
cg: add explicit test for const param promotion

3 years agorustc_target: Mark UEFI targets as `is_like_windows`/`is_like_msvc`
Vadim Petrochenkov [Wed, 11 Nov 2020 21:54:23 +0000 (00:54 +0300)]
rustc_target: Mark UEFI targets as `is_like_windows`/`is_like_msvc`

Document what `is_like_windows` and `is_like_msvc` mean in more detail.

3 years agorustc_target: Fix dash vs underscore mismatches in option names
Vadim Petrochenkov [Thu, 12 Nov 2020 16:16:59 +0000 (19:16 +0300)]
rustc_target: Fix dash vs underscore mismatches in option names

3 years agoHandle and test wildcard arguments
Joshua Nelson [Tue, 10 Nov 2020 12:49:06 +0000 (07:49 -0500)]
Handle and test wildcard arguments

3 years agoDon't reuse bindings for `ref mut`
Joshua Nelson [Sun, 8 Nov 2020 16:45:13 +0000 (11:45 -0500)]
Don't reuse bindings for `ref mut`

Reusing bindings causes errors later in lowering:

```
 error[E0596]: cannot borrow `vec` as mutable, as it is not declared as mutable
  --> /checkout/src/test/ui/async-await/argument-patterns.rs:12:20
   |
LL | async fn b(n: u32, ref mut vec: A) {
   |                    ^^^^^^^^^^^
   |                    |
   |                    cannot borrow as mutable
   |                    help: consider changing this to be mutable: `mut vec`
```

3 years agoConsider mutable ident binding patterns to be simple
Eyal Kalderon [Tue, 15 Sep 2020 02:21:59 +0000 (10:21 +0800)]
Consider mutable ident binding patterns to be simple

This should fix `rustdoc` rendering of by-value mutable arguments in
`async fn` contexts.

3 years agoupdate Miri
Ralf Jung [Thu, 12 Nov 2020 15:53:32 +0000 (16:53 +0100)]
update Miri

3 years agoAdd type to `ConstKind::Placeholder`
varkor [Wed, 28 Oct 2020 01:11:03 +0000 (01:11 +0000)]
Add type to `ConstKind::Placeholder`

3 years agoreview comments
Vishnunarayan K I [Tue, 10 Nov 2020 09:29:44 +0000 (14:59 +0530)]
review comments

3 years agocheck mir exists before validation; fix tests
Vishnunarayan K I [Mon, 9 Nov 2020 17:45:11 +0000 (23:15 +0530)]
check mir exists before validation; fix tests

3 years agofix tests and formatting
Vishnunarayan K I [Fri, 6 Nov 2020 15:57:05 +0000 (21:27 +0530)]
fix tests and formatting

3 years agoadd error_occured field to ConstQualifs, fix #76064
Vishnunarayan K I [Fri, 6 Nov 2020 15:16:38 +0000 (20:46 +0530)]
add error_occured field to ConstQualifs, fix #76064

3 years agoextend min_const_generics param ty tests
Bastian Kauschke [Thu, 12 Nov 2020 15:16:37 +0000 (16:16 +0100)]
extend min_const_generics param ty tests

3 years agoAuto merge of #76256 - tgnottingham:issue-74890, r=nikomatsakis
bors [Thu, 12 Nov 2020 15:34:09 +0000 (15:34 +0000)]
Auto merge of #76256 - tgnottingham:issue-74890, r=nikomatsakis

incr-comp: hash and serialize span end line/column

Hash both the length and the end location (line/column) of a span. If we
hash only the length, for example, then two otherwise equal spans with
different end locations will have the same hash. This can cause a
problem during incremental compilation wherein a previous result for a
query that depends on the end location of a span will be incorrectly
reused when the end location of the span it depends on has changed. A
similar analysis applies if some query depends specifically on the
length of the span, but we only hash the end location. So hash both.

Fix #46744, fix #59954, fix #63161, fix #73640, fix #73967, fix #74890, fix #75900

---

See #74890 for a more in-depth analysis.

I haven't thought about what other problems this root cause could be responsible for. Please let me know if anything springs to mind. I believe the issue has existed since the inception of incremental compilation.

3 years agoFix an intrinsic invocation on threaded wasm
Alex Crichton [Thu, 12 Nov 2020 15:23:00 +0000 (07:23 -0800)]
Fix an intrinsic invocation on threaded wasm

This looks like it was forgotten to get updated in #74482 and wasm with
threads isn't built on CI so we didn't catch this by accident.

3 years agoUpdate RELEASES.md
XAMPPRocky [Thu, 12 Nov 2020 15:20:22 +0000 (16:20 +0100)]
Update RELEASES.md

3 years agoBTreeMap: test chaotic ordering & other bits & bobs
Stein Somers [Mon, 9 Nov 2020 12:48:45 +0000 (13:48 +0100)]
BTreeMap: test chaotic ordering & other bits & bobs

3 years agoAvoid installing external LLVM dylibs
Mark Rousskov [Thu, 12 Nov 2020 14:49:45 +0000 (09:49 -0500)]
Avoid installing external LLVM dylibs

If the LLVM was externally provided, then we don't currently copy artifacts into
the sysroot. This is not necessarily the right choice (in particular, it will
require the LLVM dylib to be in the linker's load path at runtime), but the
common use case for external LLVMs is distribution provided LLVMs, and in that
case they're usually in the standard search path (e.g., /usr/lib) and copying
them here is going to cause problems as we may end up with the wrong files and
isn't what distributions want.

This behavior may be revisited in the future though.

3 years agocheck `Drop` specialization of const params
Bastian Kauschke [Thu, 12 Nov 2020 14:39:21 +0000 (15:39 +0100)]
check `Drop` specialization of const params

3 years agomove dropck tests from ui -> ui/dropck
Bastian Kauschke [Thu, 12 Nov 2020 14:31:52 +0000 (15:31 +0100)]
move dropck tests from ui -> ui/dropck

3 years agoAdd tests for rustdoc --check option
Guillaume Gomez [Thu, 12 Nov 2020 13:58:07 +0000 (14:58 +0100)]
Add tests for rustdoc --check option

3 years agoAdd --check option to rustdoc
Guillaume Gomez [Thu, 12 Nov 2020 13:57:44 +0000 (14:57 +0100)]
Add --check option to rustdoc

3 years agofixed a re-format due to removed chain call
DevJPM [Tue, 10 Nov 2020 22:22:38 +0000 (23:22 +0100)]
fixed a re-format due to removed chain call

3 years agoDropped Support for Bidirectional Custom Target Definition Emulation
DevJPM [Tue, 10 Nov 2020 19:07:18 +0000 (20:07 +0100)]
Dropped Support for Bidirectional Custom Target Definition Emulation

as requested in the review and argued that this is only consistent with later LLVM upgrades

3 years agoRemoved an unused function now that LLVM 9 is the minimal supported version
DevJPM [Sat, 7 Nov 2020 22:36:00 +0000 (23:36 +0100)]
Removed an unused function now that LLVM 9 is the minimal supported version

The function was only used in LLVM 8 compatibility code
and was found and flagged by dead code detection and now removed.

3 years agofully exploited the dropped support of LLVM 8
DevJPM [Sat, 7 Nov 2020 22:25:45 +0000 (23:25 +0100)]
fully exploited the dropped support of LLVM 8

This commit grepped for LLVM_VERSION_GE, LLVM_VERSION_LT, get_major_version and
min-llvm-version and statically evaluated every expression possible
(and sensible) assuming that the LLVM version is >=9 now

3 years agoBump the minimal supported LLVM version in the bootstrapping code to 9.0
DevJPM [Sat, 7 Nov 2020 21:53:44 +0000 (22:53 +0100)]
Bump the minimal supported LLVM version in the bootstrapping code to 9.0

3 years agoexplicitly add llvm-9-dev in dockerfile
DevJPM [Sat, 7 Nov 2020 20:25:42 +0000 (21:25 +0100)]
explicitly add llvm-9-dev in dockerfile

apparently llvm-8-tools already had llvm-8-dev as a dependency
which was removed in llvm-9-tools, so we need to explicitly pull
llvm-9-dev to make a build

3 years agoBumped minimal tested LLVM version to 9
DevJPM [Sat, 7 Nov 2020 19:49:41 +0000 (20:49 +0100)]
Bumped minimal tested LLVM version to 9

This bumps the minimal tested llvm version to 9.
This should enable supporting newer LLVM features (and CPU extensions).

3 years agoAuto merge of #78976 - GuillaumeGomez:rollup-endkih3, r=GuillaumeGomez
bors [Thu, 12 Nov 2020 13:10:07 +0000 (13:10 +0000)]
Auto merge of #78976 - GuillaumeGomez:rollup-endkih3, r=GuillaumeGomez

Rollup of 5 pull requests

Successful merges:

 - #78916 (extend const generics test suite)
 - #78921 (Improve the page title switch handling between search and doc)
 - #78933 (Don't print thread ids and names in `tracing` logs)
 - #78960 (Test default values for const parameters.)
 - #78971 (Update books)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agofix pretty print for qpath
thiolliere [Thu, 12 Nov 2020 11:41:19 +0000 (12:41 +0100)]
fix pretty print for qpath

3 years agoRollup merge of #78971 - ehuss:update-books, r=ehuss
Guillaume Gomez [Thu, 12 Nov 2020 10:31:53 +0000 (11:31 +0100)]
Rollup merge of #78971 - ehuss:update-books, r=ehuss

Update books

## nomicon

8 commits in 69333eddb1de92fd17e272ce4677cc983d3bd71d..23c49f1d5ce4720bc5b7e3a920f47eccc8da6b63
2020-10-17 15:44:12 -0700 to 2020-11-05 13:30:53 +0900
-  (rust-lang-nursery/nomicon#238)
- Some tweaks (rust-lang-nursery/nomicon#244)
-  (rust-lang-nursery/nomicon#245)
- Update atomics.md (rust-lang-nursery/nomicon#224)
- Update send-and-sync.md (rust-lang-nursery/nomicon#187)
- fix a typo (rust-lang-nursery/nomicon#231)
- Improve formatting of "Transmutes" chapter (rust-lang-nursery/nomicon#242)
- Merge pull request rust-lang-nursery/nomicon#241 from simon-lammes/patch-1

## reference

4 commits in 10c16caebe475d0d11bec0531b95d7697856c13c..a7de763c213292f5b44bf10acb87ffa38724814d
2020-10-25 20:51:26 -0700 to 2020-11-11 19:13:21 -0800
- Referencify tuples (rust-lang-nursery/reference#899)
- Mention Box's partial field moves (rust-lang-nursery/reference#837)
- Enable triagebot (rust-lang-nursery/reference#862)
- Update deprecated GitHub Actions commands. (rust-lang-nursery/reference#896)

## rust-by-example

1 commits in 99eafee0cb14e6ec641bf02a69d7b30f6058349a..1886fda6981b723e4de637074455558f8bc1e83c
2020-10-21 14:21:55 -0300 to 2020-10-28 13:46:54 -0500
- Remove incorrect "lambda" terminology

## edition-guide

1 commits in 7bc9b7a5e800f79df62947cb7d566fd2fbaf19fe..b91a9a881ee007c12e74e844460ec407cf07a50f
2020-10-23 18:31:23 -0500 to 2020-11-02 11:02:03 -0600
- Clarify slice patterns example (rust-lang/edition-guide#223)

3 years agoRollup merge of #78960 - ethanboxx:const-gen-test-default-error, r=lcnr
Guillaume Gomez [Thu, 12 Nov 2020 10:31:51 +0000 (11:31 +0100)]
Rollup merge of #78960 - ethanboxx:const-gen-test-default-error, r=lcnr

Test default values for const parameters.

The last topic on #78433

I originally intended to place these tests in a single file, however, due to them being parser errors that are fatal, they must be in separate files to be detected.

Thanks, ``@lcnr`` for mentoring me on this PR.

r? ``@lcnr``

3 years agoRollup merge of #78933 - jyn514:tracing-output, r=oli-obk
Guillaume Gomez [Thu, 12 Nov 2020 10:31:49 +0000 (11:31 +0100)]
Rollup merge of #78933 - jyn514:tracing-output, r=oli-obk

Don't print thread ids and names in `tracing` logs

Before:

```
2:rustc INFO rustc_interface::passes Pre-codegen
2:rustcTy interner             total           ty lt ct all
2:rustc    Adt               :   1078 81.3%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Array             :      1  0.1%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Slice             :      1  0.1%,  0.0%   0.0%  0.0%  0.0%
2:rustc    RawPtr            :      2  0.2%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Ref               :      4  0.3%,  0.1%   0.1%  0.0%  0.0%
2:rustc    FnDef             :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    FnPtr             :     76  5.7%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Placeholder       :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Generator         :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    GeneratorWitness  :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Dynamic           :      3  0.2%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Closure           :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Tuple             :     13  1.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Bound             :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Param             :    146 11.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Infer             :      2  0.2%,  0.1%   0.0%  0.0%  0.0%
2:rustc    Projection        :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Opaque            :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc    Foreign           :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
2:rustc                  total   1326         0.2%   0.1%  0.0%  0.0%
2:rustcInternalSubsts interner: #437
2:rustcRegion interner: #355
2:rustcStability interner: #1
2:rustcConst Stability interner: #0
2:rustcAllocation interner: #0
2:rustcLayout interner: #0
```

After:

```
 INFO rustc_interface::passes Post-codegen
Ty interner             total           ty lt ct all
    Adt               :   1078 81.3%,  0.0%   0.0%  0.0%  0.0%
    Array             :      1  0.1%,  0.0%   0.0%  0.0%  0.0%
    Slice             :      1  0.1%,  0.0%   0.0%  0.0%  0.0%
    RawPtr            :      2  0.2%,  0.0%   0.0%  0.0%  0.0%
    Ref               :      4  0.3%,  0.1%   0.1%  0.0%  0.0%
    FnDef             :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    FnPtr             :     76  5.7%,  0.0%   0.0%  0.0%  0.0%
    Placeholder       :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    Generator         :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    GeneratorWitness  :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    Dynamic           :      3  0.2%,  0.0%   0.0%  0.0%  0.0%
    Closure           :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    Tuple             :     13  1.0%,  0.0%   0.0%  0.0%  0.0%
    Bound             :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    Param             :    146 11.0%,  0.0%   0.0%  0.0%  0.0%
    Infer             :      2  0.2%,  0.1%   0.0%  0.0%  0.0%
    Projection        :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    Opaque            :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
    Foreign           :      0  0.0%,  0.0%   0.0%  0.0%  0.0%
                  total   1326         0.2%   0.1%  0.0%  0.0%
InternalSubsts interner: #437
Region interner: #355
Stability interner: #1
Const Stability interner: #0
Allocation interner: #0
Layout interner: #0
```

Closes https://github.com/rust-lang/rust/issues/78931
r? ``@oli-obk``

3 years agoRollup merge of #78921 - GuillaumeGomez:search-result-title, r=jyn514
Guillaume Gomez [Thu, 12 Nov 2020 10:31:47 +0000 (11:31 +0100)]
Rollup merge of #78921 - GuillaumeGomez:search-result-title, r=jyn514

Improve the page title switch handling between search and doc

The current behavior often "forgets" to update the page title when discarding/putting back the search results. This isn't optimal which is why I wrote this fix.

r? ``@jyn514``

3 years agoRollup merge of #78916 - lcnr:const-generics-tests, r=varkor
Guillaume Gomez [Thu, 12 Nov 2020 10:31:45 +0000 (11:31 +0100)]
Rollup merge of #78916 - lcnr:const-generics-tests, r=varkor

extend const generics test suite

should implement most of #78433, especially all parts of [the hackmd](https://hackmd.io/WnFmN4MjRCqAjGmYfYcu2A?view) which I did not explicitly mention in that issue.

r? ``@varkor``

3 years agoAuto merge of #78773 - GuillaumeGomez:theme-picker-shortcut, r=jyn514
bors [Thu, 12 Nov 2020 10:28:15 +0000 (10:28 +0000)]
Auto merge of #78773 - GuillaumeGomez:theme-picker-shortcut, r=jyn514

Add shortcut for theme picker menu

Follow-up of #78584

Just like you can focus the search input by pressing "S", you can now access the theme picker menu by pressing "T" and navigate through the options only using the keyboard.

cc `@notriddle`

r? `@jyn514`

3 years agoBTreeMap: avoid aliasing while handling underfull nodes
Stein Somers [Thu, 22 Oct 2020 18:57:11 +0000 (20:57 +0200)]
BTreeMap: avoid aliasing while handling underfull nodes

3 years agoFix and re-enable two coverage tests on MacOS
Rich Kadel [Sun, 8 Nov 2020 19:06:05 +0000 (11:06 -0800)]
Fix and re-enable two coverage tests on MacOS

Note, in the coverage-reports test, the comment about MacOS was wrong.
The setting is based on config.toml llvm `optimize` setting. There
doesn't appear to be any environment variable I can check, and I
don't think we should add one. Testing the binary itself is a more
reliable way to check anyway.

For the coverage-spanview test, I removed the dependency on sed
altogether, which is much less ugly than trying to work around the
MacOS sed differences.

I tested these changes on Linux, Windows, and Mac.

3 years agoAuto merge of #78965 - jryans:emscripten-threads-libc, r=kennytm
bors [Thu, 12 Nov 2020 05:52:17 +0000 (05:52 +0000)]
Auto merge of #78965 - jryans:emscripten-threads-libc, r=kennytm

Update thread and futex APIs to work with Emscripten

This updates the thread and futex APIs in `std` to match the APIs exposed by
Emscripten. This allows threads to run on `wasm32-unknown-emscripten` and the
thread parker to compile without errors related to the missing `futex` module.

To make use of this, Rust code must be compiled with `-C target-feature=atomics`
and Emscripten must link with `-pthread`.

I have confirmed this works well locally when building multithreaded crates.
Attempting to enable `std` thread tests currently fails for seemingly obscure
reasons and Emscripten is currently disabled in CI, so further work is needed to
have proper test coverage here.

3 years agoUpdate cargo
Eric Huss [Thu, 12 Nov 2020 04:41:24 +0000 (20:41 -0800)]
Update cargo

3 years agoOvercome Sync issues with non-parallel compiler
Rich Kadel [Thu, 12 Nov 2020 04:01:10 +0000 (20:01 -0800)]
Overcome Sync issues with non-parallel compiler

Per Mark's recommendation at:
https://github.com/rust-lang/rust/pull/78963#issuecomment-725790071

3 years agoFix timeout conversion
J. Ryan Stinnett [Thu, 12 Nov 2020 03:40:15 +0000 (03:40 +0000)]
Fix timeout conversion

3 years agoUpdate books
Eric Huss [Thu, 12 Nov 2020 03:35:50 +0000 (19:35 -0800)]
Update books

3 years agoupdate rustfmt
Caleb Cartwright [Thu, 12 Nov 2020 03:28:24 +0000 (21:28 -0600)]
update rustfmt

3 years agoRename empty_tuple_assignment to monkey_barrel
Slanterns [Thu, 12 Nov 2020 02:38:03 +0000 (10:38 +0800)]
Rename empty_tuple_assignment to monkey_barrel

3 years agoMerge changes from rust-lang/rust
Zachary Catlin [Thu, 12 Nov 2020 02:17:45 +0000 (21:17 -0500)]
Merge changes from rust-lang/rust

3 years agoInclude llvm-as in llvm-tools-preview component
Zachary Catlin [Thu, 12 Nov 2020 02:02:21 +0000 (21:02 -0500)]
Include llvm-as in llvm-tools-preview component

Including llvm-as adds the ability to include assembly language fragments
that can be inlined using LTO.

3 years agoUpdate thread and futex APIs to work with Emscripten
J. Ryan Stinnett [Wed, 11 Nov 2020 22:25:48 +0000 (22:25 +0000)]
Update thread and futex APIs to work with Emscripten

This updates the thread and futex APIs in `std` to match the APIs exposed by
Emscripten. This allows threads to run on `wasm32-unknown-emscripten` and the
thread parker to compile without errors related to the missing `futex` module.

To make use of this, Rust code must be compiled with `-C target-feature=atomics`
and Emscripten must link with `-pthread`.

I have confirmed this works well locally when building multithreaded crates.
Attempting to enable `std` thread tests currently fails for seemingly obscure
reasons and Emscripten is currently disabled in CI, so further work is needed to
have proper test coverage here.

3 years agoUse intradoc-links for the whole test, add a @has check
Poliorcetics [Thu, 12 Nov 2020 00:55:28 +0000 (01:55 +0100)]
Use intradoc-links for the whole test, add a @has check

Co-authored-by: Joshua Nelson <joshua@yottadb.com>
3 years agoAdded some unit tests as requested
Rich Kadel [Tue, 3 Nov 2020 05:32:48 +0000 (21:32 -0800)]
Added some unit tests as requested

As discussed in PR #78267, for example:

* https://github.com/rust-lang/rust/pull/78267#discussion_r515404722
* https://github.com/rust-lang/rust/pull/78267#discussion_r515405958

3 years agoIgnore tidy linelength
Alexis Bourget [Thu, 12 Nov 2020 00:39:06 +0000 (01:39 +0100)]
Ignore tidy linelength

3 years agoAuto merge of #78782 - petrochenkov:nodoctok, r=Aaron1011
bors [Thu, 12 Nov 2020 00:33:55 +0000 (00:33 +0000)]
Auto merge of #78782 - petrochenkov:nodoctok, r=Aaron1011

Do not collect tokens for doc comments

Doc comment is a single token and AST has all the information to re-create it precisely.
Doc comments are also responsible for majority of calls to `collect_tokens` (with `num_calls == 1` and `num_calls == 0`, cc https://github.com/rust-lang/rust/pull/78736).

(I also moved token collection into `fn parse_attribute` to deduplicate code a bit.)

r? `@Aaron1011`

3 years agoAdd a test for r# identifiers
Alexis Bourget [Thu, 12 Nov 2020 00:05:27 +0000 (01:05 +0100)]
Add a test for r# identifiers

3 years agoFix codegen test for issue 37945
Tomasz Miąsko [Thu, 12 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Fix codegen test for issue 37945

3 years agoEnsure that closure call is not removed by MIR optimizations in a test
Tomasz Miąsko [Thu, 12 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Ensure that closure call is not removed by MIR optimizations in a test

3 years agoFix test checking that into_boxed_slice does not panic
Tomasz Miąsko [Thu, 12 Nov 2020 00:00:00 +0000 (00:00 +0000)]
Fix test checking that into_boxed_slice does not panic

The memory allocation in vec might panic in the case of capacity
overflow. Move the allocation outside the function to fix the test.

3 years agodefault_trait_param
Ethan Brierley [Wed, 11 Nov 2020 22:49:09 +0000 (22:49 +0000)]
default_trait_param

3 years agoAdd test `default_function_param`
Ethan Brierley [Wed, 11 Nov 2020 22:48:52 +0000 (22:48 +0000)]
Add test `default_function_param`

3 years agoAuto merge of #78956 - jonas-schievink:rollup-r53giob, r=jonas-schievink
bors [Wed, 11 Nov 2020 22:20:07 +0000 (22:20 +0000)]
Auto merge of #78956 - jonas-schievink:rollup-r53giob, r=jonas-schievink

Rollup of 11 pull requests

Successful merges:

 - #78216 (Duration::zero() -> Duration::ZERO)
 - #78354 (Support enable/disable sanitizers/profiler per target)
 - #78417 (BTreeMap: split off most code of append)
 - #78832 (look at assoc ct, check the type of nodes)
 - #78873 (Add flags customizing behaviour of MIR inlining)
 - #78899 (Support inlining diverging function calls)
 - #78923 (Cleanup and comment intra-doc link pass)
 - #78929 (rustc_target: Move target env "gnu" from `linux_base` to `linux_gnu_base`)
 - #78930 (rustc_taret: Remove `TargetOptions::is_like_android`)
 - #78942 (Fix typo in comment)
 - #78947 (Ship llvm-cov through llvm-tools)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agoadd error-in-impl-trait const generics test
Bastian Kauschke [Tue, 10 Nov 2020 12:22:28 +0000 (13:22 +0100)]
add error-in-impl-trait const generics test

3 years agoadd rustdoc test
Bastian Kauschke [Tue, 10 Nov 2020 10:53:48 +0000 (11:53 +0100)]
add rustdoc test

3 years agoRollup merge of #78947 - dalance:llvm_cov, r=Mark-Simulacrum
Jonas Schievink [Wed, 11 Nov 2020 19:59:14 +0000 (20:59 +0100)]
Rollup merge of #78947 - dalance:llvm_cov, r=Mark-Simulacrum

Ship llvm-cov through llvm-tools

`llvm-cov` is used to generate coverage report with LLVM InstrProf-based code coverage #34701.
So if `llvm-cov` is shipped through llvm-tools, users can try it easily accorging to the instruction of [The Rust Unstable Book](https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/source-based-code-coverage.html).

3 years agoRollup merge of #78942 - eltociear:patch-1, r=jonas-schievink
Jonas Schievink [Wed, 11 Nov 2020 19:59:12 +0000 (20:59 +0100)]
Rollup merge of #78942 - eltociear:patch-1, r=jonas-schievink

Fix typo in comment

occurences -> occurrences

3 years agoRollup merge of #78930 - petrochenkov:notlikeandroid, r=Mark-Simulacrum
Jonas Schievink [Wed, 11 Nov 2020 19:59:10 +0000 (20:59 +0100)]
Rollup merge of #78930 - petrochenkov:notlikeandroid, r=Mark-Simulacrum

rustc_taret: Remove `TargetOptions::is_like_android`

This option was replaced by more specific options and is no longer used by the compiler.