| // RUN: rm -rf %t |
| // RUN: mkdir -p %t |
| // RUN: %target-swift-frontend -emit-module -o %t %S/Inputs/def_structA.swift |
| // RUN: %target-swift-frontend -Xllvm -new-mangling-for-tests -emit-silgen -module-name ext_structA -I %t %s | %FileCheck %s |
| |
| // Ensure that members of extensions of types from another module are mangled |
| // correctly. |
| |
| import def_structA |
| |
| extension A { |
| mutating func test() { |
| a = 1 |
| } |
| |
| struct NestedType { |
| func test() {} |
| } |
| } |
| |
| func markUsed<T>(_ t: T) {} |
| |
| // CHECK-LABEL: sil hidden @_T011def_structA1AV04ext_B1AE4testyyF |
| var a = A() |
| markUsed(a.test()) |
| |
| // CHECK-LABEL: sil hidden @_T011def_structA1AV04ext_B1AE10NestedTypeV4testyyF |
| |
| var nestedType = A.NestedType() |
| markUsed(nestedType.test()) |