Commit graph

23536 commits

Author SHA1 Message Date
Jonas Platte
443928f7e3
Stabilize is_some_and 2023-04-06 23:14:23 +02:00
Ezra Shaw
9dbf20ef27
fix: fix regression in #109203 2023-04-07 08:54:13 +12:00
bors
de74dab880 Auto merge of #110012 - matthiaskrgr:rollup-sgmm5xv, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #109395 (Fix issue when there are multiple candidates for edit_distance_with_substrings)
 - #109755 (Implement support for `GeneratorWitnessMIR` in new solver)
 - #109782 (Don't leave a comma at the start of argument list when removing arguments)
 - #109977 (rustdoc: avoid including line numbers in Google SERP snippets)
 - #109980 (Derive String's PartialEq implementation)
 - #109984 (Remove f32 & f64 from MemDecoder/MemEncoder)
 - #110004 (add `dont_check_failure_status` option in the compiler test)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-06 18:48:42 +00:00
Maybe Waffle
2733c29bb1 Support multithreaded mode in OwnedSlice tests 2023-04-06 18:13:07 +00:00
Maybe Waffle
e0e39caf84 Add basic tests for OwnedSlice 2023-04-06 17:33:55 +00:00
Maybe Waffle
b6970d0e26 Use FnOnce for slice_owned instead of Fn 2023-04-06 17:03:42 +00:00
Michael Goulet
8ed2dc0bce Make span a bit better 2023-04-06 16:52:17 +00:00
Michael Goulet
00d54c879b Label non_exhaustive on privacy errors 2023-04-06 16:49:43 +00:00
Matthias Krüger
4ecfb7fc04
Rollup merge of #109984 - scottmcm:less-float, r=Nilstrieb
Remove f32 & f64 from MemDecoder/MemEncoder

r? ```@Nilstrieb```
since they said (maybe joked) on discord that it's a bug if the compiler uses f32 anywhere 🙃
2023-04-06 18:42:59 +02:00
Matthias Krüger
b153e2bd12
Rollup merge of #109782 - WaffleLapkin:nocommawhenremovingarguments, r=oli-obk
Don't leave a comma at the start of argument list when removing arguments

Fixes #109425

Quite a dirty hack, but at least it works ig.
2023-04-06 18:42:58 +02:00
Matthias Krüger
c86c9339e6
Rollup merge of #109755 - compiler-errors:new-solver-generator-witness-mir, r=cjgillot
Implement support for `GeneratorWitnessMIR` in new solver

r? ```@cjgillot```

I mostly want this to cut down the number of failing UI tests when running the UI test suite with `--compare-mode=next-solver`, but there doesn't seem like much reason to block implementing this since it adds minimal complexity to the existing structural traits impl in the new solver.

If others are against adding this for some reason, then maybe we should just make `GeneratorWitnessMIR` return `NoSolution` for these traits. Anything but an ICE please 😸 🧊
2023-04-06 18:42:57 +02:00
Matthias Krüger
3e21d6875f
Rollup merge of #109395 - chenyukang:yukang/fix-109291, r=cjgillot
Fix issue when there are multiple candidates for edit_distance_with_substrings

Fixes #109291
2023-04-06 18:42:57 +02:00
bors
f5b8f44e5d Auto merge of #109333 - Zoxc:erase-query-cache-values, r=cjgillot
Erase query cache values

This replaces most concrete query values `V` with `MaybeUninit<[u8; { size_of::<V>() }]>` without introducing dynamic dispatch like https://github.com/rust-lang/rust/pull/108638 does. This is split out of https://github.com/rust-lang/rust/pull/108638 so the performance impact of only this change can be measured.

r? `@cjgillot`
2023-04-06 16:29:36 +00:00
bors
0534655d9b Auto merge of #108504 - cjgillot:thir-pattern, r=compiler-errors,Nilstrieb
Check pattern refutability on THIR

The current `check_match` query is based on HIR, but partially re-lowers HIR into THIR.
This PR proposed to use the results of the `thir_body` query to check matches, instead of re-building THIR.

Most of the diagnostic changes are spans getting shorter, or commas/semicolons not getting removed.

This PR degrades the diagnostic for confusing constants in patterns (`let A = foo()` where `A` resolves to a `const A` somewhere): it does not point ot the definition of `const A` any more.
2023-04-06 12:42:01 +00:00
Gary Guo
c5829c2ee5 Fix new usage of old api 2023-04-06 09:34:16 +01:00
Gary Guo
e29b5badbc Fix mir interp of TerminatorKind::Terminate 2023-04-06 09:34:16 +01:00
Gary Guo
5ae3a53a44 Revert box_free unwind action 2023-04-06 09:34:16 +01:00
Gary Guo
de3f8a1578 Fix MSVC build 2023-04-06 09:34:16 +01:00
Gary Guo
bf6b84b10a Fix new usage of old api 2023-04-06 09:34:16 +01:00
Gary Guo
5cbda2a55e Fix tools 2023-04-06 09:34:16 +01:00
Gary Guo
3af45d6c57 Address review feedback 2023-04-06 09:34:16 +01:00
Gary Guo
e3f2edc75b Rename Abort terminator to Terminate
Unify terminology used in unwind action and terminator, and reflect
the fact that a nounwind panic is triggered instead of an immediate
abort is triggered for this terminator.
2023-04-06 09:34:16 +01:00
Gary Guo
0a5dac3062 Add UnwindAction::Terminate 2023-04-06 09:34:16 +01:00
Gary Guo
5e6ed132fa Add UnwindAction::Unreachable
This also makes eval machine's `StackPopUnwind`
redundant so that is replaced.
2023-04-06 09:34:16 +01:00
Gary Guo
daeb844e0c Refactor unwind from Option to a new enum 2023-04-06 09:34:16 +01:00
Scott McMurray
5cb23e4a43 Remove f32 & f64 from MemDecoder/MemEncoder 2023-04-06 00:54:07 -07:00
bors
2824db39f1 Auto merge of #109915 - scottmcm:layout-indexvec, r=oli-obk
Use `FieldIdx` in `FieldsShape`

Finally got to the main motivating example from https://github.com/rust-lang/compiler-team/issues/606 :)
2023-04-06 07:38:58 +00:00
John Kåre Alsaker
0110073d03 Fully erase query values 2023-04-06 08:25:54 +02:00
John Kåre Alsaker
6d99dd9189 Address comments 2023-04-06 08:25:53 +02:00
John Kåre Alsaker
453e919c37 Avoid the assertion in erase 2023-04-06 08:25:53 +02:00
John Kåre Alsaker
36b4199a8e Don't rely on Debug impl for Erased 2023-04-06 08:25:53 +02:00
John Kåre Alsaker
785459d630 Erase query cache values 2023-04-06 08:25:52 +02:00
Deadbeef
d764c2da99 address comments 2023-04-06 04:55:58 +00:00
Deadbeef
25fdea009e fix errors 2023-04-06 04:55:58 +00:00
Deadbeef
fc01b4b63c fix and bless ui tests 1/2 2023-04-06 04:55:58 +00:00
Deadbeef
af74ef8993 migrate rustc_macros to syn 2.0 2023-04-06 04:55:58 +00:00
bors
f211da7101 Auto merge of #109792 - cjgillot:reachable-lint, r=oli-obk
Only visit reachable blocks in ConstProp lint.

Fixes https://github.com/rust-lang/rust/issues/78803
Fixes https://github.com/rust-lang/rust/issues/109731
2023-04-06 03:05:47 +00:00
bors
8c7ad16e82 Auto merge of #109986 - JohnTitor:rollup-3aax38t, r=JohnTitor
Rollup of 7 pull requests

Successful merges:

 - #109909 (Deny `use`ing tool paths)
 - #109921 (Don't ICE when encountering `dyn*` in statics or consts)
 - #109922 (Disable `has_thread_local` on OpenHarmony)
 - #109926 (write threads info into log only when debugging)
 - #109968 (Add regression test for #80409)
 - #109969 (Add regression test for #86351)
 - #109973 (rustdoc: Improve logo display very small screen)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-05 23:10:09 +00:00
yukang
4fc3c6b07a add comment 2023-04-06 06:51:49 +08:00
Yuki Okushi
9dfe4af2a8
Rollup merge of #109926 - SparrowLii:parallel_log, r=eholk
write threads info into log only when debugging

The current tracing log will unconditionally write thread information during parallel compilation, which sometimes confuses some normal output log information

This fixes the UI test failure of:
```
[ui] tests/ui/consts/const_in_pattern/issue-73431.rs
```
Updates #75760
2023-04-06 07:18:30 +09:00
Yuki Okushi
836504ec34
Rollup merge of #109922 - Amanieu:ohos-no_thread_local, r=wesleywiser
Disable `has_thread_local` on OpenHarmony

OpenHarmony uses emulated TLS, which doesn't link properly when using thread-local variables across crate boundaries with `-C prefer-dynamic`. This PR makes thread_local! use pthreads directly instead.
2023-04-06 07:18:30 +09:00
Yuki Okushi
4b8725b854
Rollup merge of #109921 - compiler-errors:dyn-star-const-static, r=eholk
Don't ICE when encountering `dyn*` in statics or consts

Since we have properly implemented `dyn*` support in CTFE (#107728), let's not ICE here anymore.

Fixes #105777

r? `@eholk`
2023-04-06 07:18:29 +09:00
Yuki Okushi
ea920901e9
Rollup merge of #109909 - clubby789:import-tool-mod, r=petrochenkov
Deny `use`ing tool paths

Fixes #109853
Fixes #109147
2023-04-06 07:18:29 +09:00
bors
2eaeb1eee1 Auto merge of #109437 - petrochenkov:effvisopt, r=davidtwco
resolve: Restore some effective visibility optimizations

Something similar was previously removed as a part of https://github.com/rust-lang/rust/pull/104602.
So we can see [bitmaps-3.1.0](https://github.com/rust-lang/rustc-perf/tree/master/collector/compile-benchmarks/bitmaps-3.1.0), [match-stress](https://github.com/rust-lang/rustc-perf/tree/master/collector/compile-benchmarks/match-stress) and [unused-warnings](https://github.com/rust-lang/rustc-perf/tree/master/collector/compile-benchmarks/unused-warnings) in regressions there, and in improvements in this PR.
After this PR all table changes should also be "locally correct" after every update.
2023-04-05 20:50:33 +00:00
Camille GILLOT
98255cc242 Comment logic around worklist. 2023-04-05 19:34:38 +00:00
Camille GILLOT
7d47a910eb Only visit reachable blocks in ConstProp lint. 2023-04-05 19:34:38 +00:00
Camille GILLOT
f8cfafcceb Extract check_assertion. 2023-04-05 19:34:38 +00:00
Camille GILLOT
b833fcae90 Manipulate Location instead of SourceInfo. 2023-04-05 19:34:36 +00:00
Camille GILLOT
35e622d218 Do not keep extra references to scopes and decls. 2023-04-05 19:30:44 +00:00
bors
2e486be8d2 Auto merge of #107925 - thomcc:sip13, r=cjgillot
Use SipHash-1-3 instead of SipHash-2-4 for StableHasher

Noticed this, and it seems easy and likely a perf win. IIUC we don't need DDOS resistance (just collision) so we ideally would have an even faster hash, but it's hard to beat this SipHash impl here, since it's been so highly tuned for the interface.

It wouldn't surprise me if there's some subtle reason changing this sucks, as it's so obvious it seems likely to have been done. Still, SipHash-1-3 seems to still have the guarantees StableHasher should need (and seemingly more), and is clearly less work. So it's worth a shot.

Not fully tested locally.
2023-04-05 18:35:34 +00:00