Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Rollup of 9 pull requests #120903

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
Contributor

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
Contributor

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
Contributor

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
Contributor

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
Contributor

bors commented Feb 11, 2024

⌛ Testing commit 870435b with merge a166af7...

@bors
Copy link
Contributor

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
12 checks passed
@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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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.