Skip to content

Commit fed18d5

Browse files
committed
[Observation] Create nonisolated conformances to Observable
This is needed to make default-main-actor mode work well with Observable. Fixes rdar://150419628.
1 parent 3a01fc1 commit fed18d5

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

lib/Macros/Sources/ObservationMacros/ObservableMacro.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ extension ObservableMacro: ExtensionMacro {
381381
}
382382

383383
let decl: DeclSyntax = """
384-
extension \(raw: type.trimmedDescription): \(raw: qualifiedConformanceName) {}
384+
extension \(raw: type.trimmedDescription): nonisolated \(raw: qualifiedConformanceName) {}
385385
"""
386386
let ext = decl.cast(ExtensionDeclSyntax.self)
387387

lib/Sema/TypeCheckMacros.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2152,8 +2152,8 @@ std::optional<unsigned> swift::expandExtensions(CustomAttr *attr,
21522152
for (auto i : inheritedTypes.getIndices()) {
21532153
auto constraint =
21542154
TypeResolution::forInterface(
2155-
extension->getDeclContext(),
2156-
TypeResolverContext::GenericRequirement,
2155+
extension,
2156+
TypeResolverContext::Inherited,
21572157
/*unboundTyOpener*/ nullptr,
21582158
/*placeholderHandler*/ nullptr,
21592159
/*packElementOpener*/ nullptr)

0 commit comments

Comments
 (0)