]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoMerge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20
bjorn3 [Mon, 20 Dec 2021 17:56:35 +0000 (18:56 +0100)]
Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20

2 years agoFix taking address of truly unsized type field of unsized adt
bjorn3 [Mon, 20 Dec 2021 17:49:43 +0000 (18:49 +0100)]
Fix taking address of truly unsized type field of unsized adt

2 years agoRustup to rustc 1.59.0-nightly (e95e084a1 2021-12-19)
bjorn3 [Mon, 20 Dec 2021 17:21:55 +0000 (18:21 +0100)]
Rustup to rustc 1.59.0-nightly (e95e084a1 2021-12-19)

2 years agoSync from rust 84f962a89bac3948ed116f1ad04c2f4793fb69ea
bjorn3 [Mon, 20 Dec 2021 17:12:18 +0000 (18:12 +0100)]
Sync from rust 84f962a89bac3948ed116f1ad04c2f4793fb69ea

2 years agoAuto merge of #91924 - Aaron1011:serialize-adt-def, r=michaelwoerister
bors [Mon, 20 Dec 2021 10:35:48 +0000 (10:35 +0000)]
Auto merge of #91924 - Aaron1011:serialize-adt-def, r=michaelwoerister

Fully serialize AdtDef

This avoids needing to invoke the `adt_def` query during
the decoding of another query's result.

Split out from https://github.com/rust-lang/rust/pull/91919
See https://github.com/rust-lang/rust/issues/91696#issuecomment-993043710

2 years agoAuto merge of #92041 - Aaron1011:remove-speculative-evaluation, r=jackh726
bors [Mon, 20 Dec 2021 07:30:16 +0000 (07:30 +0000)]
Auto merge of #92041 - Aaron1011:remove-speculative-evaluation, r=jackh726

Remove 'speculative evaluation' of predicates

Performing 'speculative evaluation' introduces caching bugs that
cannot be fixed without invasive changes to projection.

Hopefully, we can win back most of the performance lost by
re-adding 'cache completion'

Fixes #90662

2 years agoAuto merge of #91900 - pitaj:fix-91714, r=jyn514
bors [Mon, 20 Dec 2021 04:21:12 +0000 (04:21 +0000)]
Auto merge of #91900 - pitaj:fix-91714, r=jyn514

rustdoc: make `--passes` and `--no-defaults` have no effect

Fixes #91714

One potential issue is that currently there is no stable way to achieve `--document-hidden-items`. This affects test `issue-15347`.

I also had to modify the tests `issue-42875` and `no-compiler-export`. Regardless of combinations of `--document-hidden-items` and `--document-private-items`, I was unable to get these to pass without the modifications. I left behind a comment noting the change.

2 years agoAuto merge of #91844 - nnethercote:rm-ObligationCauseData-2, r=Mark-Simulacrum
bors [Mon, 20 Dec 2021 00:40:58 +0000 (00:40 +0000)]
Auto merge of #91844 - nnethercote:rm-ObligationCauseData-2, r=Mark-Simulacrum

Eliminate `ObligationCauseData`

This makes `Obligation` two words bigger, but avoids allocating a lot of the time.

I previously tried this in #73983 and it didn't help much, but local timings look more promising now.

r? `@ghost`

2 years agoEliminate `ObligationCauseData`.
Nicholas Nethercote [Thu, 11 Nov 2021 01:01:12 +0000 (12:01 +1100)]
Eliminate `ObligationCauseData`.

This makes `Obligation` two words bigger, but avoids allocating a lot of
the time.

I previously tried this in #73983 and it didn't help much, but local
timings look more promising now.

2 years agoAuto merge of #92106 - matthiaskrgr:rollup-zw6t1mu, r=matthiaskrgr
bors [Sun, 19 Dec 2021 17:14:12 +0000 (17:14 +0000)]
Auto merge of #92106 - matthiaskrgr:rollup-zw6t1mu, r=matthiaskrgr

Rollup of 4 pull requests

Successful merges:

 - #91791 (Fix an ICE when lowering a float with missing exponent magnitude)
 - #91878 (Remove `in_band_lifetimes` from `rustc_infer`)
 - #91895 (Remove `in_band_lifetimes` for `rustc_monomorphize`)
 - #92029 (Explicitly set no ELF flags for .rustc section)

Failed merges:

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

2 years agoRollup merge of #92029 - nikic:section-flags-fix, r=davidtwco
Matthias Krüger [Sun, 19 Dec 2021 16:38:35 +0000 (17:38 +0100)]
Rollup merge of #92029 - nikic:section-flags-fix, r=davidtwco

Explicitly set no ELF flags for .rustc section

For a data section, the object crate will set the SHF_ALLOC by default, which is exactly what we don't want. Explicitly set sh_flags to zero to avoid this.

I checked with `objdump -h` that this produces the right flags for ELF.

Fixes #92013.

2 years agoRollup merge of #91895 - pitaj:91867-monomorphize, r=Aaron1011
Matthias Krüger [Sun, 19 Dec 2021 16:38:34 +0000 (17:38 +0100)]
Rollup merge of #91895 - pitaj:91867-monomorphize, r=Aaron1011

Remove `in_band_lifetimes` for `rustc_monomorphize`

#91867

2 years agoRollup merge of #91878 - LegionMammal978:less-inband-infer, r=Aaron1011
Matthias Krüger [Sun, 19 Dec 2021 16:38:33 +0000 (17:38 +0100)]
Rollup merge of #91878 - LegionMammal978:less-inband-infer, r=Aaron1011

Remove `in_band_lifetimes` from `rustc_infer`

See #91867 for more information.

This crate actually had a typo `'ctx` in one of its functions:
```diff
-pub fn same_type_modulo_infer(a: Ty<'tcx>, b: Ty<'ctx>) -> bool {
+pub fn same_type_modulo_infer<'tcx>(a: Ty<'tcx>, b: Ty<'tcx>) -> bool {
```
Also, I wasn't entirely sure about the lifetimes in `suggest_new_region_bound`:
```diff
 pub fn suggest_new_region_bound(
-    tcx: TyCtxt<'tcx>,
+    tcx: TyCtxt<'_>,
     err: &mut DiagnosticBuilder<'_>,
     fn_returns: Vec<&rustc_hir::Ty<'_>>,
```
Should all of those lifetimes really be distinct?

2 years agoRollup merge of #91791 - terrarier2111:fix-float-ice, r=nagisa
Matthias Krüger [Sun, 19 Dec 2021 16:38:33 +0000 (17:38 +0100)]
Rollup merge of #91791 - terrarier2111:fix-float-ice, r=nagisa

Fix an ICE when lowering a float with missing exponent magnitude

This fixes: https://github.com/rust-lang/rust/issues/91434

2 years agoAuto merge of #92099 - matthiaskrgr:rollup-4gwv67m, r=matthiaskrgr
bors [Sun, 19 Dec 2021 12:36:56 +0000 (12:36 +0000)]
Auto merge of #92099 - matthiaskrgr:rollup-4gwv67m, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #91141 (Revert "Temporarily rename int_roundings functions to avoid conflicts")
 - #91984 (Remove `in_band_lifetimes` from `rustc_middle`)
 - #92028 (Sync portable-simd to fix libcore build for AVX-512 enabled targets)
 - #92042 (Enable `#[thread_local]` for all windows-msvc targets)
 - #92071 (Update example code for Vec::splice to change the length)
 - #92077 (rustdoc: Remove unused `collapsed` field)
 - #92081 (rustdoc: Remove unnecessary `need_backline` function)

Failed merges:

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

2 years agoFix an ICE when lowering a float with missing exponent magnitude
threadexception [Sat, 11 Dec 2021 14:42:25 +0000 (15:42 +0100)]
Fix an ICE when lowering a float with missing exponent magnitude

Co-authored-by: Simonas Kazlauskas <github@kazlauskas.me>
2 years agoRollup merge of #92081 - jyn514:need-backline, r=GuillaumeGomez
Matthias Krüger [Sun, 19 Dec 2021 09:45:56 +0000 (10:45 +0100)]
Rollup merge of #92081 - jyn514:need-backline, r=GuillaumeGomez

rustdoc: Remove unnecessary `need_backline` function

r? `@GuillaumeGomez`

2 years agoRollup merge of #92077 - jyn514:remove-collapsed, r=GuillaumeGomez
Matthias Krüger [Sun, 19 Dec 2021 09:45:55 +0000 (10:45 +0100)]
Rollup merge of #92077 - jyn514:remove-collapsed, r=GuillaumeGomez

rustdoc: Remove unused `collapsed` field

`render/context` always runs after `run_global_context`, so it was always set to `true`.

This is a holdover from when rustdoc allowed configuring passes, but the `collapse-docs` pass was
removed ages ago, and the ability to configure passes is about to be removed.

Found while reviewing https://github.com/rust-lang/rust/pull/91305.

2 years agoRollup merge of #92071 - ajtribick:patch-1, r=the8472
Matthias Krüger [Sun, 19 Dec 2021 09:45:54 +0000 (10:45 +0100)]
Rollup merge of #92071 - ajtribick:patch-1, r=the8472

Update example code for Vec::splice to change the length

The current example for `Vec::splice` illustrates the replacement of a section of length 2 with a new section of length 2. This isn't a particularly interesting case for splice, and makes it look a bit like a shorthand for the kind of manipulations that could be done with a mutable slice.

In order to provide a stronger example, this updates the example to use different lengths for the source and destination regions, and uses a slice from the middle of the vector to illustrate that this does not necessarily have to be at the beginning or the end.

Resolves #92067

2 years agoRollup merge of #92042 - ChrisDenton:msvc-static-tls, r=nagisa
Matthias Krüger [Sun, 19 Dec 2021 09:45:53 +0000 (10:45 +0100)]
Rollup merge of #92042 - ChrisDenton:msvc-static-tls, r=nagisa

Enable `#[thread_local]` for all windows-msvc targets

As it stands, `#[thread_local]` is enabled haphazardly for msvc. It seems all 64-bit targets have it enabled, but not 32-bit targets unless they're also UWP targets (perhaps because UWP was added more recently?). So this PR simply enables it for 32-bit targets as well. I can't think of a reason not to and I've confirmed by running tests locally which pass.

See also #91659

2 years agoRollup merge of #92028 - petrochenkov:psimd, r=Mark-Simulacrum
Matthias Krüger [Sun, 19 Dec 2021 09:45:52 +0000 (10:45 +0100)]
Rollup merge of #92028 - petrochenkov:psimd, r=Mark-Simulacrum

Sync portable-simd to fix libcore build for AVX-512 enabled targets

Fixes https://github.com/rust-lang/rust/pull/91484#issuecomment-989933534
cc ``@workingjubilee``

2 years agoRollup merge of #91984 - Aaron1011:rustc-middle-lifetime, r=oli-obk
Matthias Krüger [Sun, 19 Dec 2021 09:45:51 +0000 (10:45 +0100)]
Rollup merge of #91984 - Aaron1011:rustc-middle-lifetime, r=oli-obk

Remove `in_band_lifetimes` from `rustc_middle`

See #91867

This was mostly straightforward. In several places, I take advantage
of the fact that lifetimes are non-hygenic: a macro declares the
'tcx' lifetime, which is then used in types passed in as macro
arguments.

2 years agoRollup merge of #91141 - jhpratt:int_roundings, r=joshtriplett
Matthias Krüger [Sun, 19 Dec 2021 09:45:50 +0000 (10:45 +0100)]
Rollup merge of #91141 - jhpratt:int_roundings, r=joshtriplett

Revert "Temporarily rename int_roundings functions to avoid conflicts"

This reverts commit 3ece63b64e192146fcdd1724e25856a93d7626aa.

This should be okay because #90329 has been merged.

r? `@joshtriplett`

2 years agoAuto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk
bors [Sun, 19 Dec 2021 09:31:37 +0000 (09:31 +0000)]
Auto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk

Remove `SymbolStr`

This was originally proposed in https://github.com/rust-lang/rust/pull/74554#discussion_r466203544. As well as removing the icky `SymbolStr` type, it allows the removal of a lot of `&` and `*` occurrences.

Best reviewed one commit at a time.

r? `@oli-obk`

2 years agoAuto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk
bors [Sun, 19 Dec 2021 09:31:37 +0000 (09:31 +0000)]
Auto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk

Remove `SymbolStr`

This was originally proposed in https://github.com/rust-lang/rust/pull/74554#discussion_r466203544. As well as removing the icky `SymbolStr` type, it allows the removal of a lot of `&` and `*` occurrences.

Best reviewed one commit at a time.

r? `@oli-obk`

2 years agoAuto merge of #91871 - camelid:urlpartsbuilder, r=GuillaumeGomez
bors [Sun, 19 Dec 2021 06:26:07 +0000 (06:26 +0000)]
Auto merge of #91871 - camelid:urlpartsbuilder, r=GuillaumeGomez

rustdoc: Add `UrlPartsBuilder`

This is a type for efficiently and easily constructing the part of a URL
after the domain: `nightly/core/str/struct.Bytes.html`.

It allows simplifying some code and avoiding some allocations in the
`href_*` functions.

It will also allow making `Cache.paths` et al. use `Symbol` without
having to allocate `String`s in the `href_*` functions. `String`s would
be necessary otherwise because `Symbol::as_str()` returns `SymbolStr`,
whose `Deref<Target = str>` impl requires the `str` to not outlive it.
This is the primary motivation for the addition of `UrlPartsBuilder`.

2 years agoAuto merge of #89831 - Aaron1011:project-caching-speedup, r=jackh726
bors [Sun, 19 Dec 2021 03:33:19 +0000 (03:33 +0000)]
Auto merge of #89831 - Aaron1011:project-caching-speedup, r=jackh726

Re-introduce concept of projection cache 'completion'

Instead of clearing out the cache entirely, we store
the intermediate evaluation result into the cache entry.
This accomplishes several things:

* We avoid the performance hit associated with re-evaluating
  the sub-obligations
* We avoid causing issues with incremental compilation, since
  the final evaluation result is always the same
* We avoid affecting other uses of the same `InferCtxt` which
  might care about 'side effects' from processing the sub-obligations
  (e,g. region constraints). Only code that is specifically aware
   of the new 'complete' code is affected

2 years agoAuto merge of #92090 - matthiaskrgr:rollup-pbyqddi, r=matthiaskrgr
bors [Sun, 19 Dec 2021 00:24:56 +0000 (00:24 +0000)]
Auto merge of #92090 - matthiaskrgr:rollup-pbyqddi, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #91834 (Update browser-ui-test version and improve rustdoc-gui tests readability)
 - #91894 (Remove `in_band_lifetimes` from `rustc_incremental`)
 - #91932 (Add user seed to `-Z randomize-layout`)
 - #91956 (fix(rustc_lint): better detect when parens are necessary)
 - #92020 (Remove P: Unpin bound on impl Stream for Pin)
 - #92063 (docs: fix typo)
 - #92082 (rustdoc: Write doc-comments directly instead of using FromIterator)

Failed merges:

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

2 years agoRe-introduce concept of projection cache 'completion'
Aaron Hill [Sat, 9 Oct 2021 16:29:39 +0000 (11:29 -0500)]
Re-introduce concept of projection cache 'completion'

Instead of clearing out the cache entirely, we store
the intermediate evaluation result into the cache entry.
This accomplishes several things:

* We avoid the performance hit associated with re-evaluating
  the sub-obligations
* We avoid causing issues with incremental compilation, since
  the final evaluation result is always the same
* We avoid affecting other uses of the same `InferCtxt` which
  might care about 'side effects' from processing the sub-obligations
  (e,g. region constraints). Only code that is specifically aware
   of the new 'complete' code is affected

2 years agoRollup merge of #92082 - jyn514:remove-from-iterator, r=jyn514
Matthias Krüger [Sat, 18 Dec 2021 23:38:44 +0000 (00:38 +0100)]
Rollup merge of #92082 - jyn514:remove-from-iterator, r=jyn514

rustdoc: Write doc-comments directly instead of using FromIterator

The FromIterator impl made the code much harder to understand. The types
don't make sense until you realize there's a custom FromIterator impl.

This is the first commit from https://github.com/rust-lang/rust/pull/91305; since ``@camelid`` wrote it originally I don't feel bad unilaterally approving it.

r? ``@ghost``
``@bors`` r+

Note that this will conflict with https://github.com/rust-lang/rust/pull/92078.

2 years agoRollup merge of #92063 - OverOrion:patch-1, r=jyn514
Matthias Krüger [Sat, 18 Dec 2021 23:38:43 +0000 (00:38 +0100)]
Rollup merge of #92063 - OverOrion:patch-1, r=jyn514

docs: fix typo

Add missing `'s` to ` Let check it out.`

2 years agoRollup merge of #92020 - Folyd:stream-unpin, r=m-ou-se
Matthias Krüger [Sat, 18 Dec 2021 23:38:42 +0000 (00:38 +0100)]
Rollup merge of #92020 - Folyd:stream-unpin, r=m-ou-se

Remove P: Unpin bound on impl Stream for Pin

Similar to https://github.com/rust-lang/rust/pull/81363.

2 years agoRollup merge of #91956 - notriddle:notriddle/unused-parens-range, r=nagisa
Matthias Krüger [Sat, 18 Dec 2021 23:38:41 +0000 (00:38 +0100)]
Rollup merge of #91956 - notriddle:notriddle/unused-parens-range, r=nagisa

fix(rustc_lint): better detect when parens are necessary

Fixes #90807

2 years agoRollup merge of #91932 - Kixiron:randomize-seed, r=nagisa
Matthias Krüger [Sat, 18 Dec 2021 23:38:41 +0000 (00:38 +0100)]
Rollup merge of #91932 - Kixiron:randomize-seed, r=nagisa

Add user seed to `-Z randomize-layout`

Allows users of -`Z randomize-layout` to provide `-Z layout-seed=<seed>` in order to further randomizing type layout randomization. Extension of [compiler-team/#457](https://github.com/rust-lang/compiler-team/issues/457), allows users to change struct layouts without changing code and hoping that item path hashes change, aiding in detecting layout errors

2 years agoRollup merge of #91894 - pitaj:91867-incremental, r=Aaron1011
Matthias Krüger [Sat, 18 Dec 2021 23:38:40 +0000 (00:38 +0100)]
Rollup merge of #91894 - pitaj:91867-incremental, r=Aaron1011

Remove `in_band_lifetimes` from `rustc_incremental`

#91867

2 years agoRollup merge of #91834 - GuillaumeGomez:improve-gui-test-readability, r=jsha
Matthias Krüger [Sat, 18 Dec 2021 23:38:39 +0000 (00:38 +0100)]
Rollup merge of #91834 - GuillaumeGomez:improve-gui-test-readability, r=jsha

Update browser-ui-test version and improve rustdoc-gui tests readability

Since the `0.5.1`, we can use trailing commas. I also used the opportunity to clean up the existing tests.

r? `@notriddle`

2 years agoAuto merge of #91837 - Kobzol:stable-hash-map-avoid-sort, r=the8472
bors [Sat, 18 Dec 2021 21:23:37 +0000 (21:23 +0000)]
Auto merge of #91837 - Kobzol:stable-hash-map-avoid-sort, r=the8472

Avoid sorting in hash map stable hashing

Suggested by `@the8472` [here](https://github.com/rust-lang/rust/pull/89404#issuecomment-991813333). I hope that I understood it right, I replaced the sort with modular multiplication, which should be commutative.

Can I ask for a perf. run? However, locally it didn't help at all. Creating the `StableHasher` all over again is probably slowing it down quite a lot. And using `FxHasher` is not straightforward, because the keys and values only implement `HashStable` (and probably they shouldn't be just hashed via `Hash` anyway for it to actually be stable).

Maybe the `StableHash` interface could be changed somehow to better suppor these scenarios where the hasher is short-lived. Or the `StableHasher` implementation could have variants with e.g. a shorter buffer for these scenarios.

2 years agoAdd cron job to test against latest cranelift version every day
bjorn3 [Sat, 18 Dec 2021 17:55:33 +0000 (18:55 +0100)]
Add cron job to test against latest cranelift version every day

Fixes #1212

2 years agoAuto merge of #92065 - matthiaskrgr:rollup-qmpcsuj, r=matthiaskrgr
bors [Sat, 18 Dec 2021 18:08:51 +0000 (18:08 +0000)]
Auto merge of #92065 - matthiaskrgr:rollup-qmpcsuj, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #91566 (Apply path remapping to DW_AT_GNU_dwo_name when producing split DWARF)
 - #91926 (Remove `in_band_lifetimes` from `rustc_metadata`)
 - #91931 (Remove `in_band_lifetimes` from `rustc_codegen_llvm`)
 - #92024 (rustc_codegen_llvm: Give each codegen unit a unique DWARF name on all platforms, not just Apple ones.)
 - #92037 (Use a const ParamEnv when in default_method_body_is_const)
 - #92047 (Set `RUST_BACKTRACE=0` when running location-detail tests)
 - #92050 (Add a space and 2 grave accents )

Failed merges:

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

2 years agoExplicitly set no ELF flags for .rustc section
Nikita Popov [Fri, 17 Dec 2021 10:26:39 +0000 (11:26 +0100)]
Explicitly set no ELF flags for .rustc section

For a data section, the object crate will set the SHF_ALLOC by
default, which is exactly what we don't want. Explicitly set
sh_flags to zero to avoid this.

2 years agoWrite code directly instead of using FromIterator
Noah Lev [Wed, 24 Nov 2021 22:07:37 +0000 (14:07 -0800)]
Write code directly instead of using FromIterator

The FromIterator impl made the code much harder to understand. The types
don't make sense until you realize there's a custom FromIterator impl.

2 years agoRemove unnecessary `need_backline` function
Joshua Nelson [Sat, 18 Dec 2021 17:32:40 +0000 (11:32 -0600)]
Remove unnecessary `need_backline` function

2 years agoRemove `collapsed` field
Joshua Nelson [Sat, 18 Dec 2021 16:44:58 +0000 (10:44 -0600)]
Remove `collapsed` field

`render/context` always runs after `run_global_context`, so it was always set to `true`.

This is a holdover from when rustdoc allowed configuring passes, but the `collapse-docs` pass was
removed ages ago, and the ability to configure passes is about to be removed.

2 years agoUpdate example code for Vec::splice to change the length
ajtribick [Sat, 18 Dec 2021 14:59:33 +0000 (15:59 +0100)]
Update example code for Vec::splice to change the length

2 years agoAuto merge of #92064 - matthiaskrgr:rollup-tgj2pai, r=matthiaskrgr
bors [Sat, 18 Dec 2021 15:01:32 +0000 (15:01 +0000)]
Auto merge of #92064 - matthiaskrgr:rollup-tgj2pai, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #91858 (pass -Wl,-z,origin to set DF_ORIGIN when using rpath)
 - #91923 (Remove `in_band_lifetimes` from `rustc_query_impl`)
 - #91925 (Remove `in_band_lifetimes` from `rustc_privacy`)
 - #91977 (Clean up search code and unify function returned values)
 - #92018 (Fix typo in "new region bound" suggestion)
 - #92022 (Eliminate duplicate codes of expected_found_bool)
 - #92032 (hir: Do not introduce dummy type names for `extern` blocks in def paths)

Failed merges:

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

2 years agoRemove triple method from FunctionCx
bjorn3 [Sat, 18 Dec 2021 14:46:30 +0000 (15:46 +0100)]
Remove triple method from FunctionCx

Instead use the default_call_conv field on TargetFrontendConfig to get
the default CallConv.

2 years agoSlightly reduce the amount of fx.module references
bjorn3 [Sat, 18 Dec 2021 14:33:31 +0000 (15:33 +0100)]
Slightly reduce the amount of fx.module references

2 years agoRollup merge of #92050 - r00ster91:patch-5, r=camelid
Matthias Krüger [Sat, 18 Dec 2021 13:49:45 +0000 (14:49 +0100)]
Rollup merge of #92050 - r00ster91:patch-5, r=camelid

Add a space and 2 grave accents

I only noticed this because I have this implementation copy pasted in some places in my code and I really can't wait for this to be stabilized...

2 years agoRollup merge of #92047 - Aaron1011:location-detail-backtrace, r=Mark-Simulacrum
Matthias Krüger [Sat, 18 Dec 2021 13:49:44 +0000 (14:49 +0100)]
Rollup merge of #92047 - Aaron1011:location-detail-backtrace, r=Mark-Simulacrum

Set `RUST_BACKTRACE=0` when running location-detail tests

This ensures that the output does not depend on environment variables
set in the shell.

2 years agoRollup merge of #92037 - fee1-dead:fix_env_dmbic, r=oli-obk
Matthias Krüger [Sat, 18 Dec 2021 13:49:42 +0000 (14:49 +0100)]
Rollup merge of #92037 - fee1-dead:fix_env_dmbic, r=oli-obk

Use a const ParamEnv when in default_method_body_is_const

r? `@oli-obk`

This PR fixes the param_env function to return `constness: Const` correctly for trait methods marked with `#[default_method_body_is_const]`. The snippet below is erroneously accepted by the compiler and has been fixed by this change. ([Playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=12dc6681b2eeee5f604203d96259eeb4))

```rust
#![feature(const_fn_trait_bound)]
#![feature(const_trait_impl)]

trait Tr {}
impl Tr for () {}

const fn foo<T>() where T: ~const Tr {}

pub trait Foo {
    #[default_method_body_is_const]
    fn foo() {
        foo::<()>();
    }
}
```

2 years agoRollup merge of #92024 - pcwalton:per-codegen-unit-names, r=davidtwco
Matthias Krüger [Sat, 18 Dec 2021 13:49:41 +0000 (14:49 +0100)]
Rollup merge of #92024 - pcwalton:per-codegen-unit-names, r=davidtwco

rustc_codegen_llvm: Give each codegen unit a unique DWARF name on all platforms, not just Apple ones.

To avoid breaking split DWARF, we need to ensure that each codegen unit has a
unique `DW_AT_name`. This is because there's a remote chance that different
codegen units for the same module will have entirely identical DWARF entries
for the purpose of the DWO ID, which would violate Appendix F ("Split Dwarf
Object Files") of the DWARF 5 specification. LLVM uses the algorithm specified
in section 7.32 "Type Signature Computation" to compute the DWO ID, which does
not include any fields that would distinguish compilation units. So we must
embed the codegen unit name into the `DW_AT_name`.

Closes #88521.

2 years agoRollup merge of #91931 - LegionMammal978:less-inband-codegen_llvm, r=davidtwco
Matthias Krüger [Sat, 18 Dec 2021 13:49:40 +0000 (14:49 +0100)]
Rollup merge of #91931 - LegionMammal978:less-inband-codegen_llvm, r=davidtwco

Remove `in_band_lifetimes` from `rustc_codegen_llvm`

See #91867 for more information.

This one took a while. This crate has dozens of functions not associated with any type, and most of them were using in-band lifetimes for `'ll` and `'tcx`.

2 years agoRollup merge of #91926 - SylvanB:remove_in_band_lifetimes_from_rustc_metadata, r...
Matthias Krüger [Sat, 18 Dec 2021 13:49:39 +0000 (14:49 +0100)]
Rollup merge of #91926 - SylvanB:remove_in_band_lifetimes_from_rustc_metadata, r=nagisa

Remove `in_band_lifetimes` from `rustc_metadata`

Another for #91867

2 years agoRollup merge of #91566 - cbeuw:remap-dwo-name, r=davidtwco
Matthias Krüger [Sat, 18 Dec 2021 13:49:38 +0000 (14:49 +0100)]
Rollup merge of #91566 - cbeuw:remap-dwo-name, r=davidtwco

Apply path remapping to DW_AT_GNU_dwo_name when producing split DWARF

`--remap-path-prefix` doesn't apply to paths to `.o` (in case of packed) or `.dwo` (in case of unpacked) files in `DW_AT_GNU_dwo_name`. GCC also has this bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91888

2 years agoRollup merge of #92032 - petrochenkov:extblockpath, r=oli-obk
Matthias Krüger [Sat, 18 Dec 2021 10:28:07 +0000 (11:28 +0100)]
Rollup merge of #92032 - petrochenkov:extblockpath, r=oli-obk

hir: Do not introduce dummy type names for `extern` blocks in def paths

Use a separate nameless `DefPathData` variant instead.

Extracted from https://github.com/rust-lang/rust/pull/91795.

2 years agoRollup merge of #92022 - woodenarrow:br_expected_bool, r=estebank
Matthias Krüger [Sat, 18 Dec 2021 10:28:06 +0000 (11:28 +0100)]
Rollup merge of #92022 - woodenarrow:br_expected_bool, r=estebank

Eliminate duplicate codes of expected_found_bool

The function expected_found_bool is the same as ExpectedFound::new. So use ExpectedFound::new to replace expected_found_bool to eliminate duplicate codes.

![image](https://user-images.githubusercontent.com/95843988/146486722-c910eccd-a36c-4dc5-8b36-214aab058e38.png)

2 years agoRollup merge of #92018 - estebank:missing-ticks, r=oli-obk
Matthias Krüger [Sat, 18 Dec 2021 10:28:05 +0000 (11:28 +0100)]
Rollup merge of #92018 - estebank:missing-ticks, r=oli-obk

Fix typo in "new region bound" suggestion

The lifetime name shoud always appear in text surrounded by `.

2 years agoRollup merge of #91977 - GuillaumeGomez:unify-search-code, r=jsha
Matthias Krüger [Sat, 18 Dec 2021 10:28:05 +0000 (11:28 +0100)]
Rollup merge of #91977 - GuillaumeGomez:unify-search-code, r=jsha

Clean up search code and unify function returned values

This PR is a cleanup: there is no changes in the search results or in the UI.

Depending if it was "literal search" or not, it was either returning booleans or integers. It's pretty bad so instead it all returns integers.

Another thing I did was to move the add and checks into a `addIntoResults` function to simplify things.

Last thing: I removed a loop in the `sortResults` function and moved its code directly into the first loop.

All these changes are done to make #90630 much smaller.

r? `@jsha`

2 years agoRollup merge of #91925 - LegionMammal978:less-inband-privacy, r=nagisa
Matthias Krüger [Sat, 18 Dec 2021 10:28:03 +0000 (11:28 +0100)]
Rollup merge of #91925 - LegionMammal978:less-inband-privacy, r=nagisa

Remove `in_band_lifetimes` from `rustc_privacy`

See #91867 for more information.

2 years agoRollup merge of #91923 - LegionMammal978:less-inband-query_impl, r=michaelwoerister
Matthias Krüger [Sat, 18 Dec 2021 10:28:02 +0000 (11:28 +0100)]
Rollup merge of #91923 - LegionMammal978:less-inband-query_impl, r=michaelwoerister

Remove `in_band_lifetimes` from `rustc_query_impl`

See #91867 for more information.

2 years agoRollup merge of #91858 - semarie:runpath, r=petrochenkov
Matthias Krüger [Sat, 18 Dec 2021 10:28:01 +0000 (11:28 +0100)]
Rollup merge of #91858 - semarie:runpath, r=petrochenkov

pass -Wl,-z,origin to set DF_ORIGIN when using rpath

DF_ORIGIN flag signifies that the object being loaded may make reference to the $ORIGIN substitution string.

Some implementations are just ignoring [DF_ORIGIN](http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#df_flags) and do [substitution](http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#substitution) for $ORIGIN if present (whatever DF_ORIGIN presence or not) like glibc. But some others mandate the present of DF_ORIGIN for the substitution (like OpenBSD).

Set the flag inconditionally if rpath is wanted.

One possible fallout is if the linker rejects `-z origin` option.

2 years agodocs: fix typo
Szilárd Parrag [Sat, 18 Dec 2021 10:21:58 +0000 (11:21 +0100)]
docs: fix typo

Add missing `'s` to ` Let check it out.`

2 years agoAuto merge of #92062 - matthiaskrgr:rollup-en3p4sb, r=matthiaskrgr
bors [Sat, 18 Dec 2021 10:20:24 +0000 (10:20 +0000)]
Auto merge of #92062 - matthiaskrgr:rollup-en3p4sb, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #91439 (Mark defaulted `PartialEq`/`PartialOrd` methods as const)
 - #91516 (Improve suggestion to change struct field to &mut)
 - #91896 (Remove `in_band_lifetimes` for `rustc_passes`)
 - #91909 (:arrow_up: rust-analyzer)
 - #91922 (Remove `in_band_lifetimes` from `rustc_mir_dataflow`)
 - #92025 (Revert "socket ancillary data implementation for dragonflybsd.")
 - #92030 (Update stdlib to the 2021 edition)

Failed merges:

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

2 years agoRollup merge of #92030 - rukai:stdlib2021, r=m-ou-se
Matthias Krüger [Sat, 18 Dec 2021 09:26:40 +0000 (10:26 +0100)]
Rollup merge of #92030 - rukai:stdlib2021, r=m-ou-se

Update stdlib to the 2021 edition

progress towards https://github.com/rust-lang/rust/issues/88638

I couldnt find a way to run the 2018 style panic tests against 2018 so I just deleted them, maybe theres a way to do it that I missed though?

2 years agoRollup merge of #92025 - devnexen:revert-91553-anc_data_dfbsd, r=kennytm
Matthias Krüger [Sat, 18 Dec 2021 09:26:39 +0000 (10:26 +0100)]
Rollup merge of #92025 - devnexen:revert-91553-anc_data_dfbsd, r=kennytm

Revert "socket ancillary data implementation for dragonflybsd."

Reverts rust-lang/rust#91553

2 years agoRollup merge of #91922 - LegionMammal978:less-inband-mir_dataflow, r=nagisa
Matthias Krüger [Sat, 18 Dec 2021 09:26:38 +0000 (10:26 +0100)]
Rollup merge of #91922 - LegionMammal978:less-inband-mir_dataflow, r=nagisa

Remove `in_band_lifetimes` from `rustc_mir_dataflow`

See #91867 for more information.

2 years agoRollup merge of #91909 - lnicola:rust-analyzer-2021-12-14, r=lnicola
Matthias Krüger [Sat, 18 Dec 2021 09:26:37 +0000 (10:26 +0100)]
Rollup merge of #91909 - lnicola:rust-analyzer-2021-12-14, r=lnicola

:arrow_up: rust-analyzer

r? ```@ghost```

2 years agoRollup merge of #91896 - pitaj:91867-passes, r=michaelwoerister
Matthias Krüger [Sat, 18 Dec 2021 09:26:36 +0000 (10:26 +0100)]
Rollup merge of #91896 - pitaj:91867-passes, r=michaelwoerister

Remove `in_band_lifetimes` for `rustc_passes`

#91867

2 years agoRollup merge of #91516 - rukai:improve_mut_addition_help, r=estebank
Matthias Krüger [Sat, 18 Dec 2021 09:26:36 +0000 (10:26 +0100)]
Rollup merge of #91516 - rukai:improve_mut_addition_help, r=estebank

Improve suggestion to change struct field to &mut

r? ``@estebank``

Now displays a proper underline style suggestion instead of including the code change inline with the message.

2 years agoRollup merge of #91439 - ecstatic-morse:const-cmp-trait-default-methods, r=oli-obk
Matthias Krüger [Sat, 18 Dec 2021 09:26:35 +0000 (10:26 +0100)]
Rollup merge of #91439 - ecstatic-morse:const-cmp-trait-default-methods, r=oli-obk

Mark defaulted `PartialEq`/`PartialOrd` methods as const

WIthout it, `const` impls of these traits are unpleasant to write. I think this kind of change is allowed now. although it looks like it might require some Miri tweaks. Let's find out.

r? ```@fee1-dead```

2 years agohir: Do not introduce dummy type names for `extern` blocks in def paths
Vadim Petrochenkov [Fri, 17 Dec 2021 08:45:15 +0000 (16:45 +0800)]
hir: Do not introduce dummy type names for `extern` blocks in def paths

Use a separate nameless `DefPathData` variant instead

2 years agoAuto merge of #92059 - matthiaskrgr:rollup-bainfyh, r=matthiaskrgr
bors [Sat, 18 Dec 2021 07:20:50 +0000 (07:20 +0000)]
Auto merge of #92059 - matthiaskrgr:rollup-bainfyh, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #87901 (Fix suggestion of additional `pub` when using `pub pub fn ...`)
 - #89090 (Lint bare traits in AstConv.)
 - #91818 (Show the unused type for `unused_results` lint)
 - #91910 (miri: lift restriction on extern types being the only field in a struct)
 - #91928 (Constify (most) `Option` methods)
 - #91975 (Move generator check earlier in inlining.)
 - #92016 (builtin_macros: allow external consumers for AsmArgs parsing)

Failed merges:

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

2 years agoRollup merge of #92016 - calebcartwright:expose-asm-args-parsing, r=Amanieu
Matthias Krüger [Sat, 18 Dec 2021 07:16:31 +0000 (08:16 +0100)]
Rollup merge of #92016 - calebcartwright:expose-asm-args-parsing, r=Amanieu

builtin_macros: allow external consumers for AsmArgs parsing

As discussed in Zulip (https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/parsing.20of.20AsmArgs.20for.20inline.20assembly), we need a function entry point that rustfmt can leverage from a pre-expansion context to get a more structured representation of the asm args without having to duplicate/maintain the token stream parsing

r? ```@Amanieu``` and/or ```@joshtriplett```

2 years agoRollup merge of #91975 - cjgillot:noinline-generator, r=jackh726
Matthias Krüger [Sat, 18 Dec 2021 07:16:30 +0000 (08:16 +0100)]
Rollup merge of #91975 - cjgillot:noinline-generator, r=jackh726

Move generator check earlier in inlining.

Inlining into generator may create references to other generators. For instance, inlining `Pin::<&mut from_generator::GenFuture<[generator1]>>::new_unchecked` into `generator2`. This cross reference can then create cycles when computing inlining for `generator1`.

In order to avoid this kind of surprises, we forbid all inlining into generators, and rely on LLVM to do the right thing. The existing `remove-zst-query-cycle` already ICEs in inline-mir mode, so we use it as test.

Split from #91743.

2 years agoRollup merge of #91928 - fee1-dead:constification1, r=oli-obk
Matthias Krüger [Sat, 18 Dec 2021 07:16:29 +0000 (08:16 +0100)]
Rollup merge of #91928 - fee1-dead:constification1, r=oli-obk

Constify (most) `Option` methods

r? ``@oli-obk``

2 years agoRollup merge of #91910 - tmiasko:miri-extern-type, r=RalfJung
Matthias Krüger [Sat, 18 Dec 2021 07:16:28 +0000 (08:16 +0100)]
Rollup merge of #91910 - tmiasko:miri-extern-type, r=RalfJung

miri: lift restriction on extern types being the only field in a struct

Fixes #91827.

r? ````@RalfJung````

2 years agoRollup merge of #91818 - camelid:unused-result-type, r=jackh726
Matthias Krüger [Sat, 18 Dec 2021 07:16:27 +0000 (08:16 +0100)]
Rollup merge of #91818 - camelid:unused-result-type, r=jackh726

Show the unused type for `unused_results` lint

I think it's helpful to know what type was unused when looking at these
warnings. The type will likely determine whether the result *should* be
used, or whether it should just be ignored.

Including the type also matches the behavior of the `must_use` lint:
unused `SomeType` that must be used.

2 years agoRollup merge of #89090 - cjgillot:bare-dyn, r=jackh726
Matthias Krüger [Sat, 18 Dec 2021 07:16:26 +0000 (08:16 +0100)]
Rollup merge of #89090 - cjgillot:bare-dyn, r=jackh726

Lint bare traits in AstConv.

Removing the lint from lowering allows to:
- make lowering querification easier;
- have the lint implementation in only one place.

r? `@estebank`

2 years agoRollup merge of #87901 - poliorcetics:pub-pub-pub, r=jackh726
Matthias Krüger [Sat, 18 Dec 2021 07:16:25 +0000 (08:16 +0100)]
Rollup merge of #87901 - poliorcetics:pub-pub-pub, r=jackh726

Fix suggestion of additional `pub` when using `pub pub fn ...`

Fix #87694.

Marked as draft to start with because I want to explore doing the same fix for `const const fn` and other repeated-but-valid keywords.

`@rustbot` label A-diagnostics D-invalid-suggestion T-compiler

2 years agoget_mut_span_in_struct_field uses span.between
Lucas Kent [Sat, 18 Dec 2021 01:57:55 +0000 (12:57 +1100)]
get_mut_span_in_struct_field uses span.between

2 years agoRevert "Update Cranelift to 0.79.0"
bjorn3 [Fri, 17 Dec 2021 22:23:17 +0000 (23:23 +0100)]
Revert "Update Cranelift to 0.79.0"

This reverts commit a1037fad7dda722e4d63c5c09f6582079fe02a4c.

There are two regressions in Cranelift with respect to small integer
operations. Both have already been fixed on thebmain branch, but we will
have to wait for a new Cranelift release. They have been fixed by
bytecodealliance/wasmtime#3610 and bytecodealliance/wasmtime#3617.

2 years agoAuto merge of #89841 - cormacrelf:let-else-typed, r=nagisa
bors [Fri, 17 Dec 2021 22:12:34 +0000 (22:12 +0000)]
Auto merge of #89841 - cormacrelf:let-else-typed, r=nagisa

Implement let-else type annotations natively

Tracking issue: #87335

Fixes #89688, fixes #89807, edit: fixes  #89960 as well

As explained in https://github.com/rust-lang/rust/issues/89688#issuecomment-940405082, the previous desugaring moved the let-else scrutinee into a dummy variable, which meant if you wanted to refer to it again in the else block, it had moved.

This introduces a new hir type, ~~`hir::LetExpr`~~ `hir::Let`, which takes over all the fields of `hir::ExprKind::Let(...)` and adds an optional type annotation. The `hir::Let` is then treated like a `hir::Local` when type checking a function body, specifically:

* `GatherLocalsVisitor` overrides a new `Visitor::visit_let_expr` and does pretty much exactly what it does for `visit_local`, assigning a local type to the `hir::Let` ~~(they could be deduplicated but they are right next to each other, so at least we know they're the same)~~
* It reuses the code in `check_decl_local` to typecheck the `hir::Let`, simply returning 'bool' for the expression type after doing that.

* ~~`FnCtxt::check_expr_let` passes this local type in to `demand_scrutinee_type`, and then imitates check_decl_local's pattern checking~~
* ~~`demand_scrutinee_type` (the blindest change for me, please give this extra scrutiny) uses this local type instead of of creating a new one~~
    * ~~Just realised the `check_expr_with_needs` was passing NoExpectation further down, need to pass the type there too. And apparently this Expectation API already exists.~~

Some other misc notes:

* ~~Is the clippy code supposed to be autoformatted? I tried not to give huge diffs but maybe some rustfmt changes simply haven't hit it yet.~~
* in `rustc_ast_lowering/src/block.rs`, I noticed some existing `self.alias_attrs()` calls in `LoweringContext::lower_stmts` seem to be copying attributes from the lowered locals/etc to the statements. Is that right? I'm new at this, I don't know.

2 years agoAdd space and 2 grave accents
r00ster [Fri, 17 Dec 2021 22:11:04 +0000 (23:11 +0100)]
Add space and 2 grave accents

2 years agoRemove 'speculative evaluation' of predicates
Aaron Hill [Fri, 17 Dec 2021 15:27:26 +0000 (10:27 -0500)]
Remove 'speculative evaluation' of predicates

Performing 'speculative evaluation' introduces caching bugs that
cannot be fixed without invasive changes to projection.

Hopefully, we can win back most of the performance lost by
re-adding 'cache completion'

Fixes #90662

2 years agofix(rustc_lint): mark the parens around `(1..loop {})` as unused
Michael Howell [Fri, 17 Dec 2021 21:12:31 +0000 (14:12 -0700)]
fix(rustc_lint): mark the parens around `(1..loop {})` as unused

2 years agoRename `has_elf_tls` to `has_thread_local`
Chris Denton [Fri, 17 Dec 2021 20:56:38 +0000 (20:56 +0000)]
Rename `has_elf_tls` to `has_thread_local`

2 years agoAuto merge of #91838 - scottmcm:array-slice-eq-via-arrays-not-slices, r=dtolnay
bors [Fri, 17 Dec 2021 19:17:29 +0000 (19:17 +0000)]
Auto merge of #91838 - scottmcm:array-slice-eq-via-arrays-not-slices, r=dtolnay

Do array-slice equality via array equality, rather than always via slices

~~Draft because it needs a rebase after #91766 eventually gets through bors.~~

This enables the optimizations from #85828 to be used for array-to-slice comparisons too, not just array-to-array.

For example, <https://play.rust-lang.org/?version=nightly&mode=release&edition=2021&gist=5f9ba69b3d5825a782f897c830d3a6aa>
```rust
pub fn demo(x: &[u8], y: [u8; 4]) -> bool {
    *x == y
}
```
Currently writes the array to stack for no reason:
```nasm
sub rsp, 4
mov dword ptr [rsp], edx
cmp rsi, 4
jne .LBB0_1
mov eax, dword ptr [rdi]
cmp eax, dword ptr [rsp]
sete al
add rsp, 4
ret

.LBB0_1:
xor eax, eax
add rsp, 4
ret
```
Whereas with the change in this PR it just compares it directly:
```nasm
cmp rsi, 4
jne .LBB1_1
cmp dword ptr [rdi], edx
sete al
ret

.LBB1_1:
xor eax, eax
ret
```

2 years agoSet `RUST_BACKTRACE=0` when running location-detail tests
Aaron Hill [Fri, 17 Dec 2021 19:05:48 +0000 (14:05 -0500)]
Set `RUST_BACKTRACE=0` when running location-detail tests

This ensures that the output does not depend on environment variables
set in the shell.

2 years agoEnable `#[thread_local]` for all windows-msvc targets
Chris Denton [Fri, 17 Dec 2021 15:47:44 +0000 (15:47 +0000)]
Enable `#[thread_local]` for all windows-msvc targets

2 years agoAuto merge of #92036 - flip1995:clippyup, r=Manishearth
bors [Fri, 17 Dec 2021 15:29:35 +0000 (15:29 +0000)]
Auto merge of #92036 - flip1995:clippyup, r=Manishearth

Update Clippy

Only one day delayed! :sweat_smile:

r? `@Manishearth`

2 years agoUpdate stdlib to the 2021 edition
Lucas Kent [Fri, 17 Dec 2021 09:08:36 +0000 (20:08 +1100)]
Update stdlib to the 2021 edition

2 years agoPoint to the tracking issue
Deadbeef [Fri, 17 Dec 2021 12:48:04 +0000 (20:48 +0800)]
Point to the tracking issue

2 years agoBless ui tests
Deadbeef [Fri, 17 Dec 2021 07:38:12 +0000 (15:38 +0800)]
Bless ui tests

2 years agoAdd a temporary hack before env fix lands in bootstrap
Deadbeef [Fri, 17 Dec 2021 06:16:12 +0000 (14:16 +0800)]
Add a temporary hack before env fix lands in bootstrap

2 years agoConstify (most) `Option` methods
Deadbeef [Tue, 14 Dec 2021 17:58:01 +0000 (01:58 +0800)]
Constify (most) `Option` methods

2 years agoUse a const ParamEnv when in default_method_body_is_const
Deadbeef [Fri, 17 Dec 2021 12:39:55 +0000 (20:39 +0800)]
Use a const ParamEnv when in default_method_body_is_const

2 years agoMerge commit '23d11428de3e973b34a5090a78d62887f821c90e' into clippyup
flip1995 [Fri, 17 Dec 2021 12:40:22 +0000 (13:40 +0100)]
Merge commit '23d11428de3e973b34a5090a78d62887f821c90e' into clippyup

2 years agoAuto merge of #8134 - flip1995:rustup, r=flip1995
bors [Fri, 17 Dec 2021 12:24:03 +0000 (12:24 +0000)]
Auto merge of #8134 - flip1995:rustup, r=flip1995

Rustup

r? `@ghost`

changelog: none

2 years agoBump nightly version -> 2021-12-17
flip1995 [Fri, 17 Dec 2021 12:22:34 +0000 (13:22 +0100)]
Bump nightly version -> 2021-12-17

2 years agoMerge remote-tracking branch 'upstream/master' into rustup
flip1995 [Fri, 17 Dec 2021 11:22:41 +0000 (12:22 +0100)]
Merge remote-tracking branch 'upstream/master' into rustup