Skip to content

Conversation

@jckarter
Copy link
Contributor

… the mark_unresolved_noncopyable marker.

This ensures that move checking sees the cleanups when determining a value's lifetime and doesn't try to insert its own cleanup leading to a double destroy. Fixes #85063 | rdar://163194098.

@jckarter
Copy link
Contributor Author

@swift-ci Please test

@@ -0,0 +1,40 @@
// RUN: %target-sil-opt -module-name definite_init_moveonly -enable-sil-verify-all -definite-init %s | %FileCheck %s
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did you look into why the verifier did not flag the double destroy before this change? is that a separate problem?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I filed another bug to look into that.

… the `mark_unresolved_noncopyable` marker.

This ensures that move checking sees the cleanups when determining a value's lifetime and doesn't
try to insert its own cleanup leading to a double destroy. Fixes swiftlang#85063 | rdar://163194098.
@jckarter jckarter force-pushed the moveonly-after-definit-cleanup branch from 7428333 to ff627e5 Compare October 23, 2025 20:11
@jckarter
Copy link
Contributor Author

@swift-ci Please test

@jckarter jckarter merged commit b219d40 into swiftlang:main Oct 24, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SIL memory lifetime failure: "memory is not initialized, but should be" at MemoryLifetimeVerifier.cpp:268

2 participants