Merge pull request #85643 from susmonteiro/susmonteiro/remove-annotationonly-flag

[cxx-interop] Remove annotationOnly flag from Escapability request
This commit is contained in:
Susana Monteiro
2025-12-02 14:36:56 +00:00
committed by GitHub
5 changed files with 120 additions and 60 deletions

View File

@@ -531,10 +531,6 @@ enum class CxxEscapability { Escapable, NonEscapable, Unknown };
struct EscapabilityLookupDescriptor final {
const clang::Type *type;
ClangImporter::Implementation *impl;
// Only explicitly ~Escapable annotated types are considered ~Escapable.
// This is for backward compatibility, so we continue to import aggregates
// containing pointers as Escapable types.
bool annotationOnly = true;
friend llvm::hash_code hash_value(const EscapabilityLookupDescriptor &desc) {
return llvm::hash_combine(desc.type);
@@ -542,7 +538,7 @@ struct EscapabilityLookupDescriptor final {
friend bool operator==(const EscapabilityLookupDescriptor &lhs,
const EscapabilityLookupDescriptor &rhs) {
return lhs.type == rhs.type && lhs.annotationOnly == rhs.annotationOnly;
return lhs.type == rhs.type;
}
friend bool operator!=(const EscapabilityLookupDescriptor &lhs,