Files
swift-mirror/test/Interpreter/imported_objc_generics_extension.swift
Doug Gregor def86ce402 Revert "[irgen] Force emission of objc class refs for non-foreign clang objc classes whose metadata we use."
This reverts commit 8247525471. While
correct, it has uncovered several issues in existing code bases that
need to be sorted out before we can land it again.
Fixes rdar://problem/57846390.
2020-01-11 21:46:42 -08:00

32 lines
867 B
Swift

// RUN: %empty-directory(%t)
//
// RUN: %target-clang -fobjc-arc %S/Inputs/ObjCClasses/ObjCClasses.m -c -o %t/ObjCClasses.o
// RUN: %target-build-swift -I %S/Inputs/ObjCClasses/ %t/ObjCClasses.o %s -o %t/a.out
// RUN: %target-codesign %t/a.out
// RUN: %target-run %t/a.out
// REQUIRES: executable_test
// XFAIL: interpret
// REQUIRES: objc_interop
import Foundation
import StdlibUnittest
import ObjCClasses
var ImportedObjCGenericExtension = TestSuite("ImportedObjCGenericExtension")
@objc extension Container {
@objc func returnSelf() -> Self {
return self
}
}
ImportedObjCGenericExtension.test("ExtensionFromSwift") {
let gc = Container<NSString>(object: "")
expectTrue(gc.returnSelf() === gc)
let gc2: Unmanaged<AnyObject>! = gc.perform(#selector(Container<NSString>.returnSelf))
expectTrue(gc2!.takeUnretainedValue() === gc)
}
runAllTests()