mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
- Tests that depend on emitted interfaces should generally use flags that are typical for modules that have textual interfaces (e.g. `-enable-library-evolution`). - If a test is intended to produce a valid `swiftinterface` then it should verify that interface. This will help prevent interface printing regressions caused by compiler changes. - Having commonly used substitutions for tests that emit interfaces makes it easy to experiment with compiler flags that might effect interface printing. Resolves rdar://91634358
21 lines
843 B
Swift
21 lines
843 B
Swift
// RUN: %target-swift-emit-module-interface(%t.swiftinterface) %s -module-name attrs
|
|
// RUN: %target-swift-typecheck-module-from-interface(%t.swiftinterface) -module-name attrs
|
|
// RUN: %FileCheck %s < %t.swiftinterface
|
|
|
|
// CHECK: @_transparent public func glass() -> Swift.Int { return 0 }{{$}}
|
|
@_transparent public func glass() -> Int { return 0 }
|
|
|
|
// CHECK: @_effects(readnone) public func illiterate(){{$}}
|
|
@_effects(readnone) public func illiterate() {}
|
|
|
|
// CHECK: @_effects(notEscaping arg1.**) public func escapeEffects(arg1: Swift.Int){{$}}
|
|
@_effects(notEscaping arg1.**) public func escapeEffects(arg1: Int) {}
|
|
|
|
// CHECK-LABEL: @frozen public struct Point {
|
|
@frozen public struct Point {
|
|
// CHECK-NEXT: public var x: Swift.Int
|
|
public var x: Int
|
|
// CHECK-NEXT: public var y: Swift.Int
|
|
public var y: Int
|
|
} // CHECK-NEXT: {{^}$}}
|