Skip to content

Rollup of 9 pull requests #120903

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 29 commits into from
Feb 11, 2024
Merged

Rollup of 9 pull requests #120903

merged 29 commits into from
Feb 11, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

long-long-float and others added 29 commits February 6, 2024 00:32
Moves into functions are typically implemented with pointer passing
rather than memcpy's at the llvm-ir level, so allow moves into
functions.
So that devs on aarch64 can also bless tests.
…bilee

simd intrinsics: add simd_shuffle_generic and other missing intrinsics

Also tweak the simd_shuffle docs a bit.

r? `@calebzulawski`
…ns-in-derive-macro, r=oli-obk

Suppress suggestions in derive macro

close rust-lang#118809

I suppress warnings inside derive macros.

For example, the compiler emits following error by a program described in rust-lang#118809 (comment) with a suggestion that indicates invalid syntax.

```
error[E0308]: `?` operator has incompatible types
 --> src/main.rs:3:17
  |
3 | #[derive(Debug, Deserialize)]
  |                 ^^^^^^^^^^^ expected `u32`, found `u64`
  |
  = note: `?` operator cannot convert from `u64` to `u32`
  = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
  |
3 | #[derive(Debug, Deserialize.try_into().unwrap())]
  |                            ++++++++++++++++++++

For more information about this error, try `rustc --explain E0308`.
error: could not compile `serde_test` (bin "serde_test") due to 2 previous errors
```

In this PR, suggestions to cast are suppressed.

```
error[E0308]: `?` operator has incompatible types
 --> src/main.rs:3:17
  |
3 | #[derive(Debug, Deserialize)]
  |                 ^^^^^^^^^^^ expected `u32`, found `u64`
  |
  = note: `?` operator cannot convert from `u64` to `u32`
  = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0308`.
error: could not compile `serde_test` (bin "serde_test") due to 2 previous errors
```
large_assignments: Allow moves into functions

Moves into functions are typically implemented with pointer passing
rather than memcpy's at the llvm-ir level, so allow moves into
functions.

Part of the "Differentiate between Operand::Move and Operand::Copy" step of rust-lang#83518.

r? `@oli-obk` (who I think is still E-mentor?)
…tion, r=fmease

Take empty `where` bounds into account when suggesting predicates

Fixes rust-lang#120838
…ler-errors

interpret/write_discriminant: when encoding niched variant, ensure the stored value matches

Cc rust-lang/unsafe-code-guidelines#487
interpret: rename ReadExternStatic → ExternStatic

This error shows up for reads and writes, so `ReadExternStatic` is misleading.
…ozkan

Adapt `llvm-has-rust-patches` validation to take `llvm-config` into account.

This adapts an assertion that was added in rust-lang#119556.

The current assertion does not take the `llvm-config` setting into accounts, which does not match the `llvm-has-rust-patches` documentation, which states:

> This would be used in conjunction with either an llvm-config or build.submodules = false.

(It also breaks my workflow: I build LLVM separately, but do have the rust patches applied).

---

**edit:** Originally this PR just removed the assertion, but it now implements the alternative mentioned here:

An alternative fix would be to take `llvm-config` into account in the assertion, but to me the assertion seems to provide little value, thus the simpler fix of just removing it.

cc `@onur-ozkan,` in case I'm missing a reason to keep the assertion.
…compiler-errors

don't skip coercions for types with errors

fixes rust-lang#120884
… r=oli-obk

Print kind of coroutine closure

Make sure that we print "async closure" when we have an async closure, rather than calling it generically a ["coroutine-closure"](rust-lang#120361).

Fixes rust-lang#120886

r? oli-obk
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 11, 2024
@compiler-errors
Copy link
Member

@bors retry r_symbolnum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 11, 2024
@bors
Copy link
Collaborator

bors commented Feb 11, 2024

⌛ Testing commit 870435b with merge aba3b36...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 11, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#119213 (simd intrinsics: add simd_shuffle_generic and other missing intrinsics)
 - rust-lang#120272 (Suppress suggestions in derive macro)
 - rust-lang#120773 (large_assignments: Allow moves into functions)
 - rust-lang#120874 (Take empty `where` bounds into account when suggesting predicates)
 - rust-lang#120882 (interpret/write_discriminant: when encoding niched variant, ensure the stored value matches)
 - rust-lang#120883 (interpret: rename ReadExternStatic → ExternStatic)
 - rust-lang#120890 (Adapt `llvm-has-rust-patches` validation to take `llvm-config` into account.)
 - rust-lang#120895 (don't skip coercions for types with errors)
 - rust-lang#120896 (Print kind of coroutine closure)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Feb 11, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 11, 2024
@rust-log-analyzer
Copy link
Collaborator

The job dist-apple-various failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[117/119] Building CXX object lib/asan/CMakeFiles/RTAsan_dynamic.ios.dir/asan_thread.cpp.o
[118/119] Building CXX object lib/asan/CMakeFiles/RTAsan_dynamic.ios.dir/asan_interceptors.cpp.o
[119/119] Linking CXX shared library lib/darwin/libclang_rt.asan_ios_dynamic.dylib
clang-14: warning: argument unused during compilation: '-static-libstdc++' [-Wunused-command-line-argument]
-iphoneos_version_min has been renamed to -ios_version_min
ld: warning: '/Users/runner/work/rust/rust/build/aarch64-apple-ios/native/sanitizers/build/lib/asan/CMakeFiles/RTAsan_dynamic.ios.dir/asan_debugging.cpp.o' has malformed LC_DYSYMTAB, expected 26 undefined symbols to start at index 28, found 23 undefined symbols starting at index 28
ld: warning: '/Users/runner/work/rust/rust/build/aarch64-apple-ios/native/sanitizers/build/lib/asan/CMakeFiles/RTAsan_dynamic.ios.dir/asan_activation.cpp.o' has malformed LC_DYSYMTAB, expected 35 undefined symbols to start at index 51, found 32 undefined symbols starting at index 51
ld: warning: '/Users/runner/work/rust/rust/build/aarch64-apple-ios/native/sanitizers/build/lib/asan/CMakeFiles/RTAsan_dynamic.ios.dir/asan_allocator.cpp.o' has malformed LC_DYSYMTAB, expected 68 undefined symbols to start at index 211, found 65 undefined symbols starting at index 211
ld: warning: '/Users/runner/work/rust/rust/build/aarch64-apple-ios/native/sanitizers/build/lib/asan/CMakeFiles/RTAsan_dynamic.ios.dir/asan_descriptions.cpp.o' has malformed LC_DYSYMTAB, expected 51 undefined symbols to start at index 96, found 48 undefined symbols starting at index 96
---
[34/36] Building CXX object lib/tsan/rtl/CMakeFiles/clang_rt.tsan_ios_dynamic.dir/tsan_new_delete.cpp.o
[35/36] Building CXX object lib/tsan/rtl/CMakeFiles/clang_rt.tsan_ios_dynamic.dir/tsan_interceptors_libdispatch.cpp.o
[36/36] Linking CXX shared library lib/darwin/libclang_rt.tsan_ios_dynamic.dylib
clang-14: warning: argument unused during compilation: '-static-libstdc++' [-Wunused-command-line-argument]
-iphoneos_version_min has been renamed to -ios_version_min
 finished in 99.622 seconds
##[endgroup]
[TIMING] core::build_steps::llvm::Sanitizers { target: aarch64-apple-ios } -- 99.622
[TIMING] core::builder::Builder::sysroot_libdir::Libdir { compiler: Compiler { stage: 2, host: x86_64-apple-darwin }, target: aarch64-apple-ios } -- 0.000
---
-- Found assembler: /Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang
CMake Error at /usr/local/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message):
-- Check for working C compiler: /Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang - broken

    "/Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang"

  is not able to compile a simple test program.
  is not able to compile a simple test program.

  It fails with the following output:

-- Configuring incomplete, errors occurred!
    Change Dir: '/Users/runner/work/rust/rust/build/x86_64-apple-ios/native/sanitizers/build/CMakeFiles/CMakeScratch/TryCompile-0y7ljR'
    
    Run Build Command(s): /usr/local/bin/ninja -v cmTC_9caa2
    [1/2] /Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang --target=x86_64-apple-ios   -fPIC --target=x86_64-apple-ios -m64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk -fembed-bitcode -fdebug-prefix-map=/Users/runner/work/rust/rust=/rustc/llvm -fembed-bitcode=off -MD -MT CMakeFiles/cmTC_9caa2.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_9caa2.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_9caa2.dir/testCCompiler.c.o -c /Users/runner/work/rust/rust/build/x86_64-apple-ios/native/sanitizers/build/CMakeFiles/CMakeScratch/TryCompile-0y7ljR/testCCompiler.c
    [2/2] : && /Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang --target=x86_64-apple-ios -fPIC --target=x86_64-apple-ios -m64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk -fembed-bitcode -fdebug-prefix-map=/Users/runner/work/rust/rust=/rustc/llvm -fembed-bitcode=off -Wl,-search_paths_first  -static-libstdc++ CMakeFiles/cmTC_9caa2.dir/testCCompiler.c.o -o cmTC_9caa2   && :
    FAILED: cmTC_9caa2 
    : && /Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang --target=x86_64-apple-ios -fPIC --target=x86_64-apple-ios -m64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk -fembed-bitcode -fdebug-prefix-map=/Users/runner/work/rust/rust=/rustc/llvm -fembed-bitcode=off -Wl,-search_paths_first  -static-libstdc++ CMakeFiles/cmTC_9caa2.dir/testCCompiler.c.o -o cmTC_9caa2   && :
    clang-14: warning: argument unused during compilation: '-static-libstdc++' [-Wunused-command-line-argument]
    ld: unknown options: -ios_simulator_version_min 
    clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
    ninja: build stopped: subcommand failed.
    

  

@matthiaskrgr
Copy link
Member Author

@bors retry ios_simulator_version_min

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 11, 2024
@bors
Copy link
Collaborator

bors commented Feb 11, 2024

⌛ Testing commit 870435b with merge a8ba864...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 11, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#119213 (simd intrinsics: add simd_shuffle_generic and other missing intrinsics)
 - rust-lang#120272 (Suppress suggestions in derive macro)
 - rust-lang#120773 (large_assignments: Allow moves into functions)
 - rust-lang#120874 (Take empty `where` bounds into account when suggesting predicates)
 - rust-lang#120882 (interpret/write_discriminant: when encoding niched variant, ensure the stored value matches)
 - rust-lang#120883 (interpret: rename ReadExternStatic → ExternStatic)
 - rust-lang#120890 (Adapt `llvm-has-rust-patches` validation to take `llvm-config` into account.)
 - rust-lang#120895 (don't skip coercions for types with errors)
 - rust-lang#120896 (Print kind of coroutine closure)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Feb 11, 2024

💥 Test timed out

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 11, 2024
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@matthiaskrgr
Copy link
Member Author

2024-02-11T10:09:32.4720900Z test library/std/src/thread/mod.rs - thread::Thread::unpark (line 1303) has been running for a long time
@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 11, 2024
@bors
Copy link
Collaborator

bors commented Feb 11, 2024

⌛ Testing commit 870435b with merge a166af7...

@bors
Copy link
Collaborator

bors commented Feb 11, 2024

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing a166af7 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Feb 11, 2024
@bors bors merged commit a166af7 into rust-lang:master Feb 11, 2024
@rustbot rustbot added this to the 1.78.0 milestone Feb 11, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#119213 simd intrinsics: add simd_shuffle_generic and other missing… e73e5e95f8bee16b35d90c7327c0568e8455b5e9 (link)
#120272 Suppress suggestions in derive macro aad47a0425503ca141b87c057626f004dd195752 (link)
#120773 large_assignments: Allow moves into functions bc4e3af922b816477a3c47988a36a1f7f5977011 (link)
#120874 Take empty where bounds into account when suggesting pred… 530afbd66b73f731c99670180b1fd0cd7bde3dd9 (link)
#120882 interpret/write_discriminant: when encoding niched variant,… 5c9f7bf792e78b525f9d272db37f1dbf85b03b4c (link)
#120883 interpret: rename ReadExternStatic → ExternStatic 61948ad032b64faa9ce4f5e1ec62c426b64cba01 (link)
#120890 Adapt llvm-has-rust-patches validation to take `llvm-conf… 72ae404efab94bb9b6bd97fe7928a52ec5c79c29 (link)
#120895 don't skip coercions for types with errors 18af35c4b06d93418c8e0455aec30b50d698c927 (link)
#120896 Print kind of coroutine closure ef31e73dc8a684f8ee4f32af507c3237fca54331 (link)

previous master: 980cf089f4

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (a166af7): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
4.0% [4.0%, 4.0%] 1
Regressions ❌
(secondary)
5.3% [5.3%, 5.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 4.0% [4.0%, 4.0%] 1

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.5% [1.5%, 1.5%] 1
Regressions ❌
(secondary)
3.1% [1.7%, 3.6%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.5% [1.5%, 1.5%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 663.621s -> 664.94s (0.20%)
Artifact size: 308.42 MiB -> 308.28 MiB (-0.05%)

@matthiaskrgr matthiaskrgr deleted the rollup-tmsuzth branch March 16, 2024 18:19
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.