about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/example/std_example.rs
diff options
context:
space:
mode:
authorGuillaume Boisseau <Nadrieril@users.noreply.github.com>2024-03-02 20:13:22 +0100
committerGitHub <noreply@github.com>2024-03-02 20:13:22 +0100
commitb0ca9b5d445ea049f447c9fa03878922311f3c4a (patch)
tree76014a6aca32960a73a6e0c50094036b2935879a /compiler/rustc_codegen_gcc/example/std_example.rs
parent8653c09087989489873a10054aeab43e5f9a5c87 (diff)
parentdb535bad791fcab1e802728fe7e0ca95804192af (diff)
downloadrust-b0ca9b5d445ea049f447c9fa03878922311f3c4a.tar.gz
rust-b0ca9b5d445ea049f447c9fa03878922311f3c4a.zip
Rollup merge of #121622 - dtolnay:wake, r=cuviper
Preserve same vtable pointer when cloning raw waker, to fix Waker::will_wake

Fixes #121600.

As `@jkarneges` identified in https://github.com/rust-lang/rust/issues/121600#issuecomment-1963041051, the issue is two different const promotions produce two statics at different addresses, which may or may not later be deduplicated by the linker (in this case not).

Prior to #119863, the content of the statics was compared, and they were equal. After, the address of the statics are compared and they are not equal.

It is documented that `will_wake` _"works on a best-effort basis, and may return false even when the Wakers would awaken the same task"_ so this PR fixes a quality-of-implementation issue, not a correctness issue.
Diffstat (limited to 'compiler/rustc_codegen_gcc/example/std_example.rs')
0 files changed, 0 insertions, 0 deletions