blob: bfe929270aa84c35d81ab3533c8bfe05bea62e7c [file] [log] [blame]
// RUN: %target-swift-frontend -target x86_64-apple-macosx10.99 -parse-stdlib -emit-ir %s | %FileCheck %s --check-prefix=CHECK --check-prefix=SWIFT_52
// RUN: %target-swift-frontend -target x86_64-apple-macosx10.15 -parse-stdlib -emit-ir %s | %FileCheck %s --check-prefix=CHECK --check-prefix=SWIFT_PRE_52
protocol P {
associatedtype A
var a: A { get }
}
@_silgen_name("useMetadata") func useMetadata<T>(_: T)
struct X: P { var a: X { return self } }
dynamic func foo() -> some P { return X() }
// CHECK-LABEL: define{{.*}}3bar
public func bar() {
// SWIFT_52: @__swift_instantiateConcreteTypeFromMangledName({{.*}} @"$s39access_type_metadata_by_mangled_name_513fooQryFQOyQo_1AAA1PPQxMD")
// SWIFT_PRE_52: @"$s39access_type_metadata_by_mangled_name_513fooQryFQOyQo_1AAA1PPQxMa"(
useMetadata(foo().a)
}