Files
swift-mirror/test/Sema/spi-available-inline.swift
Xi Ge 6b1f736f16 Availability: only diagnose exposing SPI_AVAILABLE symbols in modules with library-level=API
For executable targets or private libraries, using SPI_AVAILABLE symbols should be allowed.

rdar://91088241
2022-04-04 15:33:30 -07:00

15 lines
478 B
Swift

// REQUIRES: VENDOR=apple
// REQUIRES: OS=macosx
// RUN: %target-typecheck-verify-swift -target %target-cpu-apple-macosx11.9 -library-level api
@_spi_available(macOS 10.4, *)
public class MacOSSPIClass { public init() {} }
@_spi_available(iOS 8.0, *)
public class iOSSPIClass { public init() {} }
@inlinable public func foo() {
_ = MacOSSPIClass() // expected-error {{class 'MacOSSPIClass' cannot be used in an '@inlinable' function because it is SPI}}
_ = iOSSPIClass()
}