// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-module -enable-sil-ownership -o %t %S/Inputs/def_structA.swift
// RUN: %target-swift-frontend -emit-silgen -enable-sil-ownership -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 @$S11def_structA1AV04ext_B1AE4testyyF
var a = A()
markUsed(a.test())

// CHECK-LABEL: sil hidden @$S11def_structA1AV04ext_B1AE10NestedTypeV4testyyF

var nestedType = A.NestedType()
markUsed(nestedType.test())
