Skip to content

Commit f12dbd2

Browse files
authored
Merge pull request #66876 from beccadax/names-out-of-sync-5.9
2 parents d06fe1c + f44a9c3 commit f12dbd2

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

lib/Sema/TypeCheckDeclObjC.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2950,7 +2950,7 @@ class ObjCImplementationChecker {
29502950
if (auto func = dyn_cast<AbstractFunctionDecl>(req)) {
29512951
auto asyncFunc = func->getAsyncAlternative();
29522952

2953-
if (auto asyncAccessor = dyn_cast<AccessorDecl>(asyncFunc))
2953+
if (auto asyncAccessor = dyn_cast_or_null<AccessorDecl>(asyncFunc))
29542954
return asyncAccessor->getStorage();
29552955

29562956
return asyncFunc;

test/decl/ext/Inputs/objc_implementation.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@
103103
- (void)doSomethingAsynchronousWithCompletionHandler:(void (^ _Nonnull)(id _Nullable result, NSError * _Nullable error))completionHandler;
104104
- (void)doSomethingElseAsynchronousWithCompletionHandler:(void (^ _Nullable)(id _Nonnull result))completionHandler;
105105
- (void)doSomethingFunAndAsynchronousWithCompletionHandler:(void (^ _Nonnull)(id _Nullable result, NSError * _Nullable error))completionHandler;
106+
107+
- (void)doSomethingOverloadedWithCompletionHandler:(void (^ _Nonnull)())completionHandler;
108+
- (void)doSomethingOverloaded __attribute__((__swift_attr__("@_unavailableFromAsync(message: \"Use async doSomethingOverloaded instead.\")")));
106109
@end
107110

108111
@protocol PartiallyOptionalProtocol

test/decl/ext/objc_implementation.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,14 @@ protocol EmptySwiftProto {}
327327

328328
public func doSomethingFunAndAsynchronous(completionHandler: @escaping (Any?, Error?) -> Void) {
329329
}
330+
331+
@available(SwiftStdlib 5.1, *)
332+
@objc(doSomethingOverloadedWithCompletionHandler:)
333+
public func doSomethingOverloaded() async {}
334+
335+
@available(*, noasync)
336+
@objc(doSomethingOverloaded)
337+
public func doSomethingOverloaded() {}
330338
}
331339

332340
@_objcImplementation(Conformance) extension ObjCClass {

0 commit comments

Comments
 (0)