blob: 327e4860570d896f94ab4fc9147cf71235ebe319 [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: %target-build-swift -Xfrontend -disable-availability-checking -emit-executable %s -g -o %t/opaque_return_type -emit-module
// RUN: sed -ne '/\/\/ *DEMANGLE: /s/\/\/ *DEMANGLE: *//p' < %s > %t/input
// RUN: %lldb-moduleimport-test %t/opaque_return_type -type-from-mangled=%t/input | %FileCheck %s
protocol P {}
extension Int: P {}
func foo() -> some P { return 0 }
var prop: some P { return 0 }
func bar() -> some Sequence { return [] }
struct G<T> {}
extension G where T == Int {
var baz: some P { return 0 }
}
// DEMANGLE: $s18opaque_return_type3fooQryFQOyQo_
// CHECK: some P
// DEMANGLE: $s18opaque_return_type4propQrvpQOyQo_
// CHECK: some P
// DEMANGLE: $s18opaque_return_type3barQryFQOyQo_
// CHECK: some Sequence
// DEMANGLE: $s18opaque_return_type1GVAASiRszlE3bazQrvpQOySi_Qo_
// CHECK: some P
// DEMANGLE: $s18opaque_return_type3barQryFQOyQo_7ElementSTQxD
// CHECK: (some Sequence).Element