Commit Graph

168178 Commits

Author SHA1 Message Date
bors e092d0b6b4 Auto merge of #99299 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
[stable] 1.62.1 release

This bundles:

*  Windows: Fallback for overlapped I/O #98950
*  don't succeed evaluate_obligation query if new opaque types were registered #98614
*  Mitigate MMIO stale data vulnerability #98126
*  Return a FxIndexSet in is_late_bound query. #99219

Also bumps the version number to 1.62.1 and includes a short release notes section for the release.

r? `@Mark-Simulacrum`
1.62.1
2022-07-16 08:48:36 +00:00
Mark Rousskov 647922f9d8 Fix tests after beta backport 2022-07-15 17:57:32 -04:00
Mark Rousskov 650421c071 Release 1.62.1 2022-07-15 17:51:06 -04:00
Camille GILLOT 94ed9c9790 Sort query output. 2022-07-15 17:49:51 -04:00
Michael Woerister f1aa6522ab Add link to issue for src/test/incremental/async-lifetimes.rs 2022-07-15 17:49:50 -04:00
Camille GILLOT 5a4723abe4 Add regression test. 2022-07-15 17:49:50 -04:00
Camille GILLOT d8c7a157e6 Return a FxIndexSet in is_late_bound query.
This return value is iterated upon by borrowck, hence the need to preserve
a deterministic iteration order.
2022-07-15 17:49:50 -04:00
Raoul Strackx f835f9cfda Address reviewer comments 2022-07-15 17:48:27 -04:00
Raoul Strackx c1e8e4dbb4 Test copy_to_userspace function 2022-07-15 17:48:27 -04:00
Raoul Strackx 36e6ca7d11 Ensure userspace allocation is 8-byte aligned 2022-07-15 17:48:27 -04:00
Raoul Strackx b5d842f65c Mitigate MMIO stale data vulnerabilities
Intel Security Advisory: https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00615.html
2022-07-15 17:48:27 -04:00
Raoul Strackx f3b0cb5c5d Unify copying data from enclave to userspace 2022-07-15 17:48:27 -04:00
Oli Scherer 781cbf6b70 Only register hidden types for opaque types from the current crate, nothing else would work anyway. 2022-07-15 17:47:55 -04:00
Oli Scherer 7371ad990d not knowing about opaque types is worse than not knowing about regions, make sure we don't accidentally mark something as ok-modulo-regions if there are opaque types involved 2022-07-15 17:47:55 -04:00
Oli Scherer 838f779c75 Remove type flag based opaque type workaround 2022-07-15 17:47:55 -04:00
Oli Scherer 7e543bb165 Make evaluate_obligation not succeed unconditionally if it registered new hidden types for opaque types 2022-07-15 17:47:54 -04:00
Oli Scherer 34a200304c use a method instead of manually doing what its body does 2022-07-15 17:47:54 -04:00
Oli Scherer d8d064e7a8 pessimistically treat all function items as containing an opaque type 2022-07-15 17:47:54 -04:00
Chris Denton f5edcc2256 Fix ui-fulldep test 2022-07-15 17:45:50 -04:00
Chris Denton af3cc8e79c Tests for unsound Windows file methods 2022-07-15 17:45:50 -04:00
Chris Denton e59e58064c Windows: Fallback for overlapped I/O
Try waiting on the file handle once. If that fails then give up.
2022-07-15 17:45:50 -04:00
Chris Denton 196b8c40f9 Use rtabort! instead of process::abort 2022-07-15 17:45:50 -04:00
bors a8314ef7d0 Auto merge of #98571 - pietroalbini:pa-1.62.0-stable, r=pietroalbini
[stable] Prepare 1.62.0 stable release

This PR backports the latest release note changes from master, and prepares the stable artifacts.

r? `@ghost`
1.62.0
2022-06-27 13:36:35 +00:00
Pietro Albini 9b230ea2c4 bump channel to stable 2022-06-27 10:36:59 +02:00
Pietro Albini 203ed7ebbe backport release notes 2022-06-27 10:32:08 +02:00
bors 747075d9c0 Auto merge of #98462 - cjgillot:no-apit-hrtb-beta, r=Mark-Simulacrum
[beta] Fail gracefully when encountering an HRTB in APIT.

Backport of https://github.com/rust-lang/rust/pull/97683
The diagnostic is a bit worse, but still better than an ICE.

r? `@ehuss`
2022-06-26 09:42:21 +00:00
Camille GILLOT a081507451 beta fallout. 2022-06-24 18:47:25 +02:00
Camille GILLOT b1d53a42dc Fail gracefully when encountering an HRTB in APIT. 2022-06-24 17:59:19 +02:00
bors d8ffc1fe6b Auto merge of #98440 - ehuss:update-beta-cargo, r=ehuss
[beta] Beta backports

* Remove the unused-#[doc(hidden)] logic from the unused_attributes lint #98336
* debuginfo: Fix NatVis for Rc and Arc with unsized pointees. #98137
* Revert "remove num_cpus dependency" in rustc and update cargo #97911
* Update LLVM submodule #97690
* Revert #96682. #97636
* don't do Sized and other return type checks on RPIT's real type #97431
* Temporarily disable submodule archive downloads. #98423
2022-06-24 15:39:19 +00:00
bors 31eb5f77d3 Auto merge of #98423 - ehuss:ci-submodule-no-archive, r=compiler-errors
Temporarily disable submodule archive downloads.

The `llvm-project` `/archive/` download has been timing out with a 504 error since yesterday. This changes it so that it uses a normal submodule clone, but also uses `--depth 1` since GitHub now supports `allowReachableSHA1InWant` which allows for fetching a specific revision. That should be reasonably fast (but not as fast as an archive download) to unstick CI.
2022-06-24 07:00:06 -07:00
Yuki Okushi c211c673e2 Rollup merge of #98336 - fmease:remove-faulty-doc-hidden-lint, r=GuillaumeGomez
Remove the unused-`#[doc(hidden)]` logic from the `unused_attributes` lint

Fixes #96890.

It was found out that `#[doc(hidden)]` on trait impl items does indeed have an effect on the generated documentation (see the linked issue). In my opinion and the one of [others](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Validy.20checks.20for.20.60.23.5Bdoc.28hidden.29.5D.60/near/281846219), rustdoc's output is actually a bit flawed in that regard but that should be tracked in a new issue I suppose (I will open an issue for that in the near future).

The check was introduced in #96008 which is marked to be part of version `1.62` (current `beta`). As far as I understand, this means that **this PR needs to be backported** to `beta` to fix #96890 on time. Correct me if I am wrong.

CC `@dtolnay` (in case you would like to agree or disagree with my decision to fully remove this check)

`@rustbot` label A-lint T-compiler T-rustdoc

r? `@rust-lang/compiler`
2022-06-23 18:31:36 -07:00
Matthias Krüger fec9ff33c0 Rollup merge of #98137 - michaelwoerister:fix-unsized-rc-arc-natvis, r=wesleywiser
debuginfo: Fix NatVis for Rc and Arc with unsized pointees.

Currently, the NatVis for `Rc<T>` and `Arc<T>` does not support unsized `T`. For both `Rc<T>` and `Rc<dyn SomeTrait>` the visualizers fail:

```txt
    [Reference count] : -> must be used on pointers and . on structures
    [Weak reference count] : -> must be used on pointers and . on structures
```

This PR fixes the visualizers. For slices we can even give show the elements, so one now gets something like:

```txt
slice_rc         : { len=3 }
    [Length]         : 3
    [Reference count] : 41
    [Weak reference count] : 2
    [0]              : 1
    [1]              : 2
    [2]              : 3
```

r? `@wesleywiser`
2022-06-23 18:21:15 -07:00
bors c8f02aa2f4 Auto merge of #97911 - dtolnay:numcpu, r=Mark-Simulacrum
Revert "remove num_cpus dependency" in rustc and update cargo

Fixes #97549. This PR reverts #94524 and does a Cargo update to pull in rust-lang/cargo#10737.

Rust 1.61.0 has a regression in which it misidentifies the number of available CPUs in some environments, leading to enormously increased memory usage and failing builds. In between Rust 1.60 and 1.61 both rustc and cargo replaced some uses of `num_cpus` with `available_parallelism`, which eliminated support for cgroupv1, still apparently in common use. This PR switches both rustc and cargo back to using `num_cpus` in order to support environments where the available parallelism is controlled by cgroupv1. Both can use `available_parallism` again once it handles cgroupv1 (if ever).

I have confirmed that the rustc part of this PR fixes the memory usage regression in my non-Cargo environment, and others have confirmed in #97549 that the Cargo regression was at fault for the memory usage regression in their environments.
2022-06-23 17:42:49 -07:00
bors 9210de2c1e Auto merge of #97690 - nikic:update-llvm-4, r=cuviper
Update LLVM submodule

Merge upstream release/14.x branch.

Fixes #97428.
2022-06-23 17:38:11 -07:00
Dylan DPC babf4fa04f Rollup merge of #97636 - nnethercote:revert-96682, r=dtolnay
Revert #96682.

The change was "Show invisible delimiters (within comments) when pretty
printing". It's useful to show these delimiters, but is a breaking
change for some proc macros.

Fixes #97608.

r? ``@petrochenkov``
2022-06-23 17:38:11 -07:00
Michael Goulet a1483ebb67 Rollup merge of #97431 - compiler-errors:issue-97413, r=oli-obk
don't do `Sized` and other return type checks on RPIT's real type

Fixes an ICE where we're doing `Sized` check against the RPIT's real type, instead of against the opaque type. This differs from what we're doing in MIR typeck, which causes ICE #97226.

This regressed in #96516 -- this adjusts that fix to be a bit more conservative. That PR was backported and thus the ICE is also present in stable. Not sure if it's worth to beta and/or stable backport, probably not the latter but I could believe the former.

r? `@oli-obk`

cc: another attempt to fix this ICE #97413. I believe this PR addresses the root cause.
2022-06-23 17:38:11 -07:00
bors 1bc802e990 Auto merge of #97642 - oli-obk:backport_undo_closure_wf_check, r=compiler-errors
Revert "Check that closures satisfy their where bounds"

This reverts commit 253408b409 from https://github.com/rust-lang/rust/pull/96899

This is only performed on beta to give us another few weeks to fix https://github.com/rust-lang/rust/issues/97607 on nightly. The planned fix is likely way too large to backport anyway.

r? `@compiler-errors`
2022-06-13 14:30:44 +00:00
Oli Scherer a0bf36cb93 Revert "Check that closures satisfy their where bounds"
This reverts commit 253408b409.
2022-06-13 10:33:55 +00:00
bors 8fd9e5fe1e Auto merge of #97701 - compiler-errors:🅱-remove-arg-matrix, r=estebank
[beta] Revert arg matrix algorithm from `check_argument_types`

We decided in T-compiler meeting that this is best removed in beta, and reworked to be less ICE-y on nightly: https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202022-06-02/near/284755523

r? `@jackh726` `@estebank`
2022-06-08 03:07:21 +00:00
Michael Goulet 2f1bf166b5 Remove arg_matrix.rs, bless tests 2022-06-07 17:54:57 -07:00
Michael Goulet b0793b33da Revert check_argument_types 2022-06-07 17:54:57 -07:00
bors a5cf77ca62 Auto merge of #97631 - ehuss:update-beta-cargo, r=ehuss
[beta] Beta backports

* Allow the unused_macro_rules lint for now #97032
* Fix some typos in arg checking algorithm #97303
* rustc: Fix ICE in native library error reporting #97328
* Cargo:
    * Fix `cargo publish -p spec` https://github.com/rust-lang/cargo/pull/10707
2022-06-02 01:44:26 +00:00
Dylan DPC 054a2bd9f8 Rollup merge of #97328 - petrochenkov:nativice, r=michaelwoerister
rustc: Fix ICE in native library error reporting

Fixes https://github.com/rust-lang/rust/issues/97299
2022-06-01 13:24:20 -07:00
Dylan DPC 0a2d181d2f Rollup merge of #97303 - compiler-errors:arg-typos, r=jackh726
Fix some typos in arg checking algorithm

Fixes #97197

Also fixes a typo where if we're missing args A, B, C, we actually say A, B, B
2022-06-01 13:24:00 -07:00
Matthias Krüger 072348837a Rollup merge of #97032 - est31:unused_macro_rules, r=petrochenkov
Allow the unused_macro_rules lint for now

It was newly added by #96150 with warn by default, which is great as it gave exposure to the community, and their feedback gave me ideas for improvements.

Allowing the lint is good for two reasons:

* It makes the transition easier as e.g. allow directives won't fire the unknown lint warning once it is turned to warn by default in the future. The [commit that allowed the lint in fuchsia](https://fuchsia.googlesource.com/fuchsia/+/9d8f96517c3963de2f0e25598fd36061914524cd%5E%21/) had to allow unknown lints for example.
This is especially important compared to other lints in the unused group,
because the _ prefix trick doesn't exist for macro rules, allowing is the
only option (either of unused_macro_rules, or of the entire unused group,
but that is not as informative to readers). Allowing the lint also makes it
possible to work on possible heuristics for disabling the macro in specific
cases.
* It gives time for implementing heuristics for when to suppress the lint, e.g.
when `compile_error!` is invoked by that arm (so it's only there to yield an error).

See: https://github.com/rust-lang/rust/pull/96150#issuecomment-1126599107

I would also like this to be backported to the 1.62 beta branch (cc #97016).
2022-06-01 13:23:33 -07:00
Eric Huss 04e8835d02 [beta] Update cargo 2022-06-01 13:22:43 -07:00
bors daf68b1f76 Auto merge of #97175 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] switch to stable bootstrap

r? `@Mark-Simulacrum`
2022-05-19 20:02:11 +00:00
Mark Rousskov a33e55f8ac Bump bootstrap to latest stable 2022-05-19 10:18:24 -04:00
bors 198addcded Auto merge of #97088 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] Kickoff 1.62 beta

r? `@Mark-Simulacrum`
2022-05-17 23:05:52 +00:00
Mark Rousskov 61aebf7570 Revert "Add set_inheritable for Windows Handles"
This reverts commit b89b056742.
2022-05-17 18:40:37 -04:00