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 #125931

Closed
wants to merge 26 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

pacak and others added 26 commits April 19, 2024 08:31
Signed-off-by: Andrew Wock <ajwock@gmail.com>
Show files produced by `--emit foo` in json artifact notifications

Right now it is possible to ask `rustc` to save some intermediate representation into one or more files with `--emit=foo`, but figuring out what exactly was produced is difficult. This pull request adds information about `llvm_ir` and `asm` intermediate files into notifications produced by `--json=artifacts`.

Related discussion: https://internals.rust-lang.org/t/easier-access-to-files-generated-by-emit-foo/20477

Motivation - `cargo-show-asm` parses those intermediate files and presents them in a user friendly way, but right now I have to apply some dirty hacks. Hacks make behavior confusing: hintron/computer-enhance#35

This pull request introduces a new behavior: now `rustc` will emit a new artifact notification for every artifact type user asked to `--emit`, for example for `--emit asm` those will include all the `.s` files.

Most users won't notice this behavior, to be affected by it all of the following must hold:
- user must use `rustc` binary directly (when `cargo` invokes `rustc` - it consumes artifact notifications and doesn't emit anything)
- user must specify both `--emit xxx` and `--json artifacts`
- user must refuse to handle unknown artifact types
- user must disable incremental compilation (or deal with it better than cargo does, or use a workaround like `save-temps`) in order not to hit rust-lang#88829 / rust-lang#89149
…, r=ehuss

Add tracking issue and unstable book page for `"vectorcall"` ABI

Originally added in 2015 by rust-lang#30567, the Windows `"vectorcall"` ABI didn't have a tracking issue until now.

Tracking issue: rust-lang#124485
…li-obk

Make `WHERE_CLAUSES_OBJECT_SAFETY` a regular object safety violation

#### The issue

In rust-lang#50781, we have known about unsound `where` clauses in function arguments:

```rust
trait Impossible {}

trait Foo {
    fn impossible(&self)
    where
        Self: Impossible;
}

impl Foo for &() {
    fn impossible(&self)
    where
        Self: Impossible,
    {}
}

// `where` clause satisfied for the object, meaning that the function now *looks* callable.
impl Impossible for dyn Foo {}

fn main() {
    let x: &dyn Foo = &&();
    x.impossible();
}
```

... which currently segfaults at runtime because we try to call a method in the vtable that doesn't exist. :(

#### What did u change

This PR removes the `WHERE_CLAUSES_OBJECT_SAFETY` lint and instead makes it a regular object safety violation. I choose to make this into a hard error immediately rather than a `deny` because of the time that has passed since this lint was authored, and the single (1) regression (see below).

That means that it's OK to mention `where Self: Trait` where clauses in your trait, but making such a trait into a `dyn Trait` object will report an object safety violation just like `where Self: Sized`, etc.

```rust
trait Impossible {}

trait Foo {
    fn impossible(&self)
    where
        Self: Impossible; // <~ This definition is valid, just not object-safe.
}

impl Foo for &() {
    fn impossible(&self)
    where
        Self: Impossible,
    {}
}

fn main() {
    let x: &dyn Foo = &&(); // <~ THIS is where we emit an error.
}
```

#### Regressions

From a recent crater run, there's only one crate that relies on this behavior: rust-lang#124305 (comment). The crate looks unmaintained and there seems to be no dependents.

#### Further

We may later choose to relax this (e.g. when the where clause is implied by the supertraits of the trait or something), but this is not something I propose to do in this FCP.

For example, given:

```
trait Tr {
  fn f(&self) where Self: Blanket;
}

impl<T: ?Sized> Blanket for T {}
```

Proving that some placeholder `S` implements `S: Blanket` would be sufficient to prove that the same (blanket) impl applies for both `Concerete: Blanket` and `dyn Trait: Blanket`.

Repeating here that I don't think we need to implement this behavior right now.

----

r? lcnr
…huss

ARM Target Docs Update

Updates the ARM target docs, drawing more attention to the `arm-none-eabi` target group by placing all targets *within* that group as a sub-list in the Table of Contents.

Also updates the `armv4t-none-eabi` page (maintainer signoff: I'm that target's maintainer) to clarify that the page covers the arm version and the thumb version of the target, but that the target group page has the full info because there's nothing really specific to say for those targets.
…ee1-dead

Fix ICE caused by ignoring EffectVars in type inference

Fixes rust-lang#119830
​r? `@matthiaskrgr`
Handle all GVN binops in a single place.

<!--
If this PR is related to an unstable feature or an otherwise tracked effort,
please link to the relevant tracking issue here. If you don't know of a related
tracking issue or there are none, feel free to ignore this.

This PR will get automatically assigned to a reviewer. In case you would like
a specific user to review your work, you can assign it to them by using

    r​? <reviewer name>
-->

Addresses https://github.com/rust-lang/rust/pull/125359/files#r1608185319
r? ``@oli-obk``
…ket-impls, r=GuillaumeGomez

rustdoc: add a regression test for a former blanket impl synthesis ICE

Fixes rust-lang#119792 (also passes in rust-lang#125907 in case you were wondering).

r? rustdoc
…r-errors

Revert: create const block bodies in typeck via query feeding

as per the discussion in rust-lang#125806 (comment)

It was a mistake to try to shoehorn const blocks and some specific anon consts into the same box and feed them during typeck. It turned out not simplifying anything (my hope was that we could feed `type_of` to start avoiding the huge HIR matcher, but that didn't work out), but instead making a few things more fragile.

reverts the const-block-specific parts of rust-lang#124650

`@bors` rollup=never had a small perf impact previously

fixes rust-lang#125846

r? `@compiler-errors`
@rustbot rustbot added O-unix Operating system: Unix-like PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 3, 2024
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative rollup A PR which is a rollup labels Jun 3, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=9

@bors
Copy link
Contributor

bors commented Jun 3, 2024

📌 Commit 69d8f62 has been approved by matthiaskrgr

It is now in the queue for this repository.

@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 Jun 3, 2024
@bors
Copy link
Contributor

bors commented Jun 3, 2024

⌛ Testing commit 69d8f62 with merge 6a518ff...

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

Rollup of 9 pull requests

Successful merges:

 - rust-lang#122597 (Show files produced by `--emit foo` in json artifact notifications)
 - rust-lang#124486 (Add tracking issue and unstable book page for `"vectorcall"` ABI)
 - rust-lang#125380 (Make `WHERE_CLAUSES_OBJECT_SAFETY` a regular object safety violation)
 - rust-lang#125690 (ARM Target Docs Update)
 - rust-lang#125865 (Fix ICE caused by ignoring EffectVars in type inference)
 - rust-lang#125893 (Handle all GVN binops in a single place.)
 - rust-lang#125909 (rustdoc: add a regression test for a former blanket impl synthesis ICE)
 - rust-lang#125918 (Revert: create const block bodies in typeck via query feeding)
 - rust-lang#125919 (Remove stray "this")

r? `@ghost`
`@rustbot` modify labels: rollup
@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)
  Python2_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.12.3/x64
  Python3_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.12.3/x64
##[endgroup]
curl: (28) Operation too slow. Less than 100 bytes/sec transferred the last 5 seconds
##[error]Failure while executing; `/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.3.1\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.6.7\)\ curl/8.4.0 --header Accept-Language:\ en --fail --progress-bar --silent --remote-time --output /Users/runner/Library/Caches/Homebrew/api/formula.jws.json --location --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.3.1\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.6.7\)\ curl/8.4.0 --header Accept-Language:\ en --fail --progress-bar --silent --compressed --speed-limit 100 --speed-time 5 https://formulae.brew.sh/api/formula.jws.json` exited with 28. Here's the output:
(28) Operation too slow. Less than 100 bytes/sec transferred the last 5 seconds
Error: Failure while executing; `/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.3.1\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.6.7\)\ curl/8.4.0 --header Accept-Language:\ en --fail --progress-bar --silent --remote-time --output /Users/runner/Library/Caches/Homebrew/api/formula.jws.json --location --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.3.1\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.6.7\)\ curl/8.4.0 --header Accept-Language:\ en --fail --progress-bar --silent --compressed --speed-limit 100 --speed-time 5 https://formulae.brew.sh/api/formula.jws.json` exited with 28. Here's the output:

##[error]Process completed with exit code 1.
Post job cleanup.
[command]/usr/local/bin/git version

@matthiaskrgr
Copy link
Member Author

@bors retry

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

Rollup of 9 pull requests

Successful merges:

 - rust-lang#122597 (Show files produced by `--emit foo` in json artifact notifications)
 - rust-lang#124486 (Add tracking issue and unstable book page for `"vectorcall"` ABI)
 - rust-lang#125380 (Make `WHERE_CLAUSES_OBJECT_SAFETY` a regular object safety violation)
 - rust-lang#125690 (ARM Target Docs Update)
 - rust-lang#125865 (Fix ICE caused by ignoring EffectVars in type inference)
 - rust-lang#125893 (Handle all GVN binops in a single place.)
 - rust-lang#125909 (rustdoc: add a regression test for a former blanket impl synthesis ICE)
 - rust-lang#125918 (Revert: create const block bodies in typeck via query feeding)
 - rust-lang#125919 (Remove stray "this")

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

bors commented Jun 3, 2024

⌛ Testing commit 69d8f62 with merge f06dc4f...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

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

---- [codegen] tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-17/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths/emit-type-metadata-id-itanium-cxx-abi-paths.ll" "/checkout/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs" "--check-prefix=CHECK" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100"
--- stderr -------------------------------
/checkout/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs:85:11: error: CHECK: expected string not found in input
/checkout/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs:85:11: error: CHECK: expected string not found in input
// CHECK: ![[TYPE7]] = !{i64 0, !"_ZTSFvu3refIu{{[0-9]+}}NtNvC{{[[:print:]]+}}_{{[[:print:]]+}}3foo3FooEE"}
          ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths/emit-type-metadata-id-itanium-cxx-abi-paths.ll:136:129: note: scanning from here
!27 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooES0_S0_E"}
                                                                                                                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths/emit-type-metadata-id-itanium-cxx-abi-paths.ll:136:129: note: with "TYPE7" equal to "29"
!27 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooES0_S0_E"}

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths/emit-type-metadata-id-itanium-cxx-abi-paths.ll
Check file: /checkout/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs


-dump-input=help explains the following input dump.
Input was:
<<<<<<
            .
            .
            .
            .
           36: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo317h161ec30c3224f38fE(ptr align 1 %_1, ptr align 1 %_2, ptr align 1 %_3) unnamed_addr #0 !type !19 !type !20 !type !21 !type !22 { 
           38:  ret void 
           39: } 
           40:  
           40:  
           41: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo4 
           42: ; Function Attrs: nonlazybind uwtable 
           43: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo417hd8a10710d70f0cb9E(ptr align 1 %_1) unnamed_addr #0 !type !23 !type !10 !type !24 !type !12 { 
           45:  ret void 
           46: } 
           47:  
           47:  
           48: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo5 
           49: ; Function Attrs: nonlazybind uwtable 
           50: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo517h61e1868ce2c26bacE(ptr align 1 %_1, ptr align 1 %_2) unnamed_addr #0 !type !25 !type !16 !type !26 !type !18 { 
           52:  ret void 
           53: } 
           54:  
           54:  
           55: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo6 
           56: ; Function Attrs: nonlazybind uwtable 
           57: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo617h6298d32060cff637E(ptr align 1 %_1, ptr align 1 %_2, ptr align 1 %_3) unnamed_addr #0 !type !27 !type !20 !type !28 !type !22 { 
           59:  ret void 
           60: } 
           61:  
           61:  
           62: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo7 
           63: ; Function Attrs: nonlazybind uwtable 
           64: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo717hf0cfe952b1aa5b1fE(ptr align 1 %_1) unnamed_addr #0 !type !29 !type !10 !type !30 !type !12 { 
           66:  ret void 
           67: } 
           68:  
           68:  
           69: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo8 
           70: ; Function Attrs: nonlazybind uwtable 
           71: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo817ha05ccd0aba9dd80bE(ptr align 1 %_1, ptr align 1 %_2) unnamed_addr #0 !type !31 !type !16 !type !32 !type !18 { 
           73:  ret void 
           74: } 
           75:  
           75:  
           76: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo9 
           77: ; Function Attrs: nonlazybind uwtable 
           78: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths4foo917hea4e2b39bc504580E(ptr align 1 %_1, ptr align 1 %_2, ptr align 1 %_3) unnamed_addr #0 !type !33 !type !20 !type !34 !type !22 { 
           80:  ret void 
           81: } 
           82:  
           82:  
           83: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo10 
           84: ; Function Attrs: nonlazybind uwtable 
           85: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths5foo1017hb3768edbeb1e1e4cE(ptr align 1 %_1) unnamed_addr #0 !type !35 !type !10 !type !36 !type !12 { 
           87:  ret void 
           88: } 
           89:  
           89:  
           90: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo11 
           91: ; Function Attrs: nonlazybind uwtable 
           92: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths5foo1117h8b28ee5ec774eddeE(ptr align 1 %_1, ptr align 1 %_2) unnamed_addr #0 !type !37 !type !16 !type !38 !type !18 { 
           94:  ret void 
           95: } 
           96:  
           96:  
           97: ; emit_type_metadata_id_itanium_cxx_abi_paths::foo12 
           98: ; Function Attrs: nonlazybind uwtable 
           99: define void @_ZN43emit_type_metadata_id_itanium_cxx_abi_paths5foo1217he74d74a10033f162E(ptr align 1 %_1, ptr align 1 %_2, ptr align 1 %_3) unnamed_addr #0 !type !39 !type !20 !type !40 !type !22 { 
          101:  ret void 
          102: } 
          103:  
          103:  
          104: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } 
          105:  
          106: !llvm.module.flags = !{!0, !1, !2, !3} 
          107: !llvm.ident = !{!4} 
          108:  
          109: !0 = !{i32 8, !"PIC Level", i32 2} 
          110: !1 = !{i32 2, !"RtLibUseGOT", i32 1} 
          111: !2 = !{i32 4, !"CFI Canonical Jump Tables", i32 1} 
          112: !3 = !{i32 4, !"EnableSplitLTOUnit", i32 1} 
          113: !4 = !{!"rustc version 1.80.0-nightly (f06dc4f08 2024-06-03)"} 
          114: !5 = !{i64 0, !"_ZTSFvvE"} 
          115: !6 = !{i64 0, !"_ZTSFvvE.generalized"} 
          116: !7 = !{i64 0, !"_ZTSFvvE.normalized"} 
          117: !8 = !{i64 0, !"_ZTSFvvE.normalized.generalized"} 
          118: !9 = !{i64 0, !"_ZTSFvu3refIu71NtNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo3FooEE"} 
          119: !10 = !{i64 0, !"_ZTSFvu3refIvEE.generalized"} 
          120: !11 = !{i64 0, !"_ZTSFvu3refIu71NtNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo3FooEE.normalized"} 
          121: !12 = !{i64 0, !"_ZTSFvu3refIvEE.normalized.generalized"} 
          122: !13 = !{i64 0, !"_ZTSFvu3refIu85NvNFNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo10{{extern}}3barEE"} 
          123: !14 = !{i64 0, !"_ZTSFvu3refIu85NvNFNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo10{{extern}}3barEE.normalized"} 
          124: !15 = !{i64 0, !"_ZTSFvu3refIu85NvNFNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo10{{extern}}3barES0_E"} 
          125: !16 = !{i64 0, !"_ZTSFvu3refIvES_E.generalized"} 
          126: !17 = !{i64 0, !"_ZTSFvu3refIu85NvNFNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo10{{extern}}3barES0_E.normalized"} 
          127: !18 = !{i64 0, !"_ZTSFvu3refIvES_E.normalized.generalized"} 
          128: !19 = !{i64 0, !"_ZTSFvu3refIu85NvNFNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo10{{extern}}3barES0_S0_E"} 
          129: !20 = !{i64 0, !"_ZTSFvu3refIvES_S_E.generalized"} 
          130: !21 = !{i64 0, !"_ZTSFvu3refIu85NvNFNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo10{{extern}}3barES0_S0_E.normalized"} 
          131: !22 = !{i64 0, !"_ZTSFvu3refIvES_S_E.normalized.generalized"} 
          132: !23 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooEE"} 
          133: !24 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooEE.normalized"} 
          134: !25 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooES0_E"} 
          135: !26 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooES0_E.normalized"} 
          136: !27 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooES0_S0_E"} 
check:85'0                                                                                                                                     X error: no match found
check:85'1                                                                                                                                       with "TYPE7" equal to "29"
          137: !28 = !{i64 0, !"_ZTSFvu3refIu86NtNCNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo11{{closure}}3FooES0_S0_E.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          138: !29 = !{i64 0, !"_ZTSFvu3refIu87NtNkNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo12{{constant}}3FooEE"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          139: !30 = !{i64 0, !"_ZTSFvu3refIu87NtNkNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo12{{constant}}3FooEE.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          140: !31 = !{i64 0, !"_ZTSFvu3refIu87NtNkNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo12{{constant}}3FooES0_E"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          141: !32 = !{i64 0, !"_ZTSFvu3refIu87NtNkNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo12{{constant}}3FooES0_E.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          142: !33 = !{i64 0, !"_ZTSFvu3refIu87NtNkNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo12{{constant}}3FooES0_S0_E"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          143: !34 = !{i64 0, !"_ZTSFvu3refIu87NtNkNvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo12{{constant}}3FooES0_S0_E.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          144: !35 = !{i64 0, !"_ZTSFvu3refIu82NvNINvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo8{{impl}}3barEE"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          145: !36 = !{i64 0, !"_ZTSFvu3refIu82NvNINvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo8{{impl}}3barEE.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          146: !37 = !{i64 0, !"_ZTSFvu3refIu82NvNINvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo8{{impl}}3barES0_E"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          147: !38 = !{i64 0, !"_ZTSFvu3refIu82NvNINvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo8{{impl}}3barES0_E.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          148: !39 = !{i64 0, !"_ZTSFvu3refIu82NvNINvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo8{{impl}}3barES0_S0_E"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          149: !40 = !{i64 0, !"_ZTSFvu3refIu82NvNINvCs3RXtr2flWni_43emit_type_metadata_id_itanium_cxx_abi_paths3foo8{{impl}}3barES0_S0_E.normalized"} 
check:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------



@bors
Copy link
Contributor

bors commented Jun 3, 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 Jun 3, 2024
@compiler-errors
Copy link
Member

@matthiaskrgr what does this codegen test have to do with WHERE_CLAUSES_OBJECT_SAFETY?

@matthiaskrgr
Copy link
Member Author

matthiaskrgr commented Jun 3, 2024

I saw that the failing test was from CFI and you also changed CFI code in your pr 🤔
https://github.com/rust-lang/rust/pull/125380/files#diff-f07eb5006a66b8220716cfbde31d17e3d100185e08c0116fd8074c60a169662e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-unix Operating system: Unix-like PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet