Files
swift-mirror/test/SPI/export_spi_from_spi_module.swift
Alexis Laferrière 758351110a [Sema] Allow the use of SPI in API for SPI modules
When the whole module has an SPI distribution, SPI declarations can be
used in API.

rdar://75335462
2021-04-20 15:02:51 -07:00

28 lines
732 B
Swift

/// Check that SPI declarations can be exported from an SPI module.
// RUN: %empty-directory(%t)
// RUN: %target-typecheck-verify-swift -I %t -verify-ignore-unknown -enable-library-evolution -swift-version 5 -library-level spi
@_spi(S) public func spiFunc() {}
@_spi(S) public class SPIClass {
public init() {}
}
@_spi(S) public class SPIStruct {
public init() {}
}
@_spi(S) public protocol SPIProtocol {}
public func useOfSPITypeOk(_ p0: SPIProtocol, p1: SPIClass) -> SPIClass { fatalError() }
@inlinable
func inlinable() -> SPIClass {
spiFunc()
_ = SPIClass()
}
@frozen public struct FrozenStruct {
public var spiInFrozen = SPIStruct()
var spiTypeInFrozen = SPIStruct()
private var spiTypeInFrozen1: SPIClass
}