 
 //===----------------------------------------------------------------------===//
 
+protocol SomeNativeProto {}
+
 class SomeClass {}
 @objc class SomeObjCClass {}
-class SomeNSObjectSubclass : NSObject {}
+
+class SomeNSObjectSubclass : NSObject, SomeNativeProto {}
+extension SomeNativeProto {
+  // https://github.com/apple/swift/issues/43154
+  func expectSelfTypeNameEqual(to typeName: String) {
+    expectEqual(typeName, _typeName(type(of: self)))
+  }
+}
 
 Runtime.test("typeName") {
   expectEqual("a.SomeObjCClass", _typeName(SomeObjCClass.self))


  a = NSObject()
  expectEqual("NSObject", _typeName(type(of: a)))
}

class GenericClass<T> {}

    expectEqual(expected, output)
  }
}

@objc protocol SomeObjCProto {}
extension SomeClass: SomeObjCProto {}

