Merge remote-tracking branch 'origin/main' into rebranch

This commit is contained in:
swift-ci
2025-09-30 07:55:22 -07:00
5 changed files with 75 additions and 52 deletions

View File

@@ -3012,10 +3012,8 @@ FuncDecl *SwiftDeclSynthesizer::findExplicitDestroy(
ctx.evaluator,
CxxValueSemantics({clangType->getTypeForDecl(), &ImporterImpl}), {});
if (valueSemanticsKind == CxxValueSemanticsKind::MoveOnly)
return destroyFunc;
if (valueSemanticsKind != CxxValueSemanticsKind::Copyable)
if (valueSemanticsKind != CxxValueSemanticsKind::Copyable &&
valueSemanticsKind != CxxValueSemanticsKind::MoveOnly)
return nullptr;
auto cxxRecordSemanticsKind = evaluateOrDefault(
@@ -3034,6 +3032,9 @@ FuncDecl *SwiftDeclSynthesizer::findExplicitDestroy(
}
}
if (valueSemanticsKind == CxxValueSemanticsKind::MoveOnly)
return destroyFunc;
markDeprecated(
nominal,
"destroy operation '" +