Skip to content

Commit 3f661c1

Browse files
authored
Enable MemberImportVisibility upcoming feature in Foundation (#1280)
1 parent 876aa1f commit 3f661c1

File tree

14 files changed

+42
-32
lines changed

14 files changed

+42
-32
lines changed

Package.swift

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ let availabilityMacros: [SwiftSetting] = versionNumbers.flatMap { version in
3535
}
3636
}
3737

38-
let concurrencyChecking: [SwiftSetting] = [
38+
let featureSettings: [SwiftSetting] = [
3939
.enableExperimentalFeature("StrictConcurrency"),
40-
.enableUpcomingFeature("InferSendableFromCaptures")
40+
.enableUpcomingFeature("InferSendableFromCaptures"),
41+
.enableUpcomingFeature("MemberImportVisibility")
4142
]
4243

4344
var dependencies: [Package.Dependency] {
@@ -98,7 +99,7 @@ let package = Package(
9899
"FoundationInternationalization",
99100
],
100101
cSettings: wasiLibcCSettings,
101-
swiftSettings: availabilityMacros + concurrencyChecking
102+
swiftSettings: availabilityMacros + featureSettings
102103
),
103104

104105
// FoundationEssentials
@@ -134,7 +135,7 @@ let package = Package(
134135
swiftSettings: [
135136
.enableExperimentalFeature("VariadicGenerics"),
136137
.enableExperimentalFeature("AccessLevelOnImport")
137-
] + availabilityMacros + concurrencyChecking,
138+
] + availabilityMacros + featureSettings,
138139
linkerSettings: [
139140
.linkedLibrary("wasi-emulated-getpid", .when(platforms: [.wasi])),
140141
]
@@ -148,7 +149,7 @@ let package = Package(
148149
resources: [
149150
.copy("Resources")
150151
],
151-
swiftSettings: availabilityMacros + concurrencyChecking
152+
swiftSettings: availabilityMacros + featureSettings
152153
),
153154

154155
// FoundationInternationalization
@@ -172,7 +173,7 @@ let package = Package(
172173
cSettings: wasiLibcCSettings,
173174
swiftSettings: [
174175
.enableExperimentalFeature("AccessLevelOnImport")
175-
] + availabilityMacros + concurrencyChecking
176+
] + availabilityMacros + featureSettings
176177
),
177178

178179
.testTarget(
@@ -181,7 +182,7 @@ let package = Package(
181182
"TestSupport",
182183
"FoundationInternationalization",
183184
],
184-
swiftSettings: availabilityMacros + concurrencyChecking
185+
swiftSettings: availabilityMacros + featureSettings
185186
),
186187

187188
// FoundationMacros
@@ -198,7 +199,7 @@ let package = Package(
198199
exclude: ["CMakeLists.txt"],
199200
swiftSettings: [
200201
.enableExperimentalFeature("AccessLevelOnImport")
201-
] + availabilityMacros + concurrencyChecking
202+
] + availabilityMacros + featureSettings
202203
),
203204
]
204205
)
@@ -213,7 +214,7 @@ package.targets.append(contentsOf: [
213214
"FoundationMacros",
214215
"TestSupport"
215216
],
216-
swiftSettings: availabilityMacros + concurrencyChecking
217+
swiftSettings: availabilityMacros + featureSettings
217218
)
218219
])
219220
#endif

Sources/FoundationEssentials/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ target_compile_options(FoundationEssentials PRIVATE
8282
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-experimental-feature -Xfrontend VariadicGenerics>"
8383
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-experimental-feature -Xfrontend AccessLevelOnImport>"
8484
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-experimental-feature -Xfrontend StrictConcurrency>"
85-
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-upcoming-feature -Xfrontend InferSendableFromCaptures>")
85+
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-upcoming-feature -Xfrontend InferSendableFromCaptures>"
86+
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-upcoming-feature -Xfrontend MemberImportVisibility>")
8687
target_compile_options(FoundationEssentials PRIVATE ${_SwiftFoundation_availability_macros})
8788
target_compile_options(FoundationEssentials PRIVATE ${_SwiftFoundation_wasi_libc_flags})
8889
target_compile_options(FoundationEssentials PRIVATE -package-name "SwiftFoundation")

Sources/FoundationEssentials/FileManager/FileManager+Basics.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ import WinSDK
2525
@preconcurrency import WASILibc
2626
#endif
2727

28+
#if FOUNDATION_FRAMEWORK
29+
internal import Foundation_Private
30+
#endif
31+
2832
#if os(Windows)
2933
extension _FILE_ID_128 /* : @retroactive Equatable */ {
3034
internal static func _equals(_ lhs: _FILE_ID_128, _ rhs: _FILE_ID_128) -> Bool {

Sources/FoundationEssentials/Locale/Locale+Language.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
#if FOUNDATION_FRAMEWORK
14+
internal import Foundation_Private
15+
#endif
16+
1317
extension Locale {
1418

1519
@available(macOS 13, iOS 16, tvOS 16, watchOS 9, *)

Sources/FoundationEssentials/URL/URLParser.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#if FOUNDATION_FRAMEWORK
1414
internal import _ForSwiftFoundation
15+
internal import Foundation_Private
1516
#endif
1617

1718
// Source of truth for a parsed URL

Sources/FoundationEssentials/URL/URL_Swift.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ import WinSDK
2424
@preconcurrency import WASILibc
2525
#endif
2626

27+
#if canImport(os)
28+
internal import os
29+
#endif
30+
2731
/// `_SwiftURL` provides the new Swift implementation for `URL`, using the same parser
2832
/// and `URLParseInfo` as `URLComponents`, but with a few compatibility behaviors.
2933
///

Sources/FoundationInternationalization/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ add_subdirectory(TimeZone)
3131
target_compile_options(FoundationInternationalization PRIVATE
3232
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-experimental-feature -Xfrontend AccessLevelOnImport>"
3333
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-experimental-feature -Xfrontend StrictConcurrency>"
34-
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-upcoming-feature -Xfrontend InferSendableFromCaptures>")
34+
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-upcoming-feature -Xfrontend InferSendableFromCaptures>"
35+
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -enable-upcoming-feature -Xfrontend MemberImportVisibility>")
3536
target_compile_options(FoundationInternationalization PRIVATE ${_SwiftFoundation_availability_macros})
3637
target_compile_options(FoundationInternationalization PRIVATE ${_SwiftFoundation_wasi_libc_flags})
3738
target_compile_options(FoundationInternationalization PRIVATE -package-name "SwiftFoundation")

Sources/FoundationInternationalization/ICU/ICU+Foundation.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ internal import _FoundationICU
1616
internal import os
1717
#endif
1818

19+
#if canImport(FoundationEssentials)
20+
import FoundationEssentials
21+
#endif
22+
1923
enum ICU { }
2024

2125
internal struct ICUError: Error, CustomDebugStringConvertible {

Sources/FoundationInternationalization/URLParser+ICU.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
#if canImport(FoundationEssentials)
1313
import FoundationEssentials
1414
#endif
15+
#if FOUNDATION_FRAMEWORK
16+
internal import Foundation_Private
17+
#endif
1518

1619
internal import _FoundationICU
1720

Sources/FoundationMacros/BundleMacro.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import SwiftSyntax
1414
import SwiftSyntaxMacros
15+
internal import SwiftSyntaxBuilder
1516

1617
public struct BundleMacro: SwiftSyntaxMacros.ExpressionMacro, Sendable {
1718
public static func expansion(of node: some FreestandingMacroExpansionSyntax, in context: some MacroExpansionContext) throws -> ExprSyntax {

0 commit comments

Comments
 (0)