// RUN: %target-swift-frontend %s -parse-as-library -enable-experimental-feature Embedded -c -o %t/main.o // RUN: %target-clang %t/main.o -o %t/a.out -dead_strip // RUN: %target-run %t/a.out | %FileCheck %s // REQUIRES: swift_in_compiler // REQUIRES: executable_test // REQUIRES: optimized_stdlib // REQUIRES: swift_feature_Embedded public struct MyStructA { static var singleton = MyStructA() init() { print("MyStructA.init") _ = MyStructB.singleton print("MyStructA.init done") } } public struct MyStructB { static var singleton = MyStructB() init() { print("MyStructB.init") _ = MyStructC.singleton print("MyStructB.init done") } } public struct MyStructC { static var singleton = MyStructC() init() { print("MyStructC.init") print("MyStructC.init done") } } @main struct Main { static func main() { print("Start") _ = MyStructA.singleton // CHECK: Start // CHECK-NEXT: MyStructA.init // CHECK-NEXT: MyStructB.init // CHECK-NEXT: MyStructC.init // CHECK-NEXT: MyStructC.init done // CHECK-NEXT: MyStructB.init done // CHECK-NEXT: MyStructA.init done } }