Skip to content

Commit 77fa261

Browse files
authored
Enable upcoming feature 'MemberImportVisibility' and fix issues it reveals (#1020)
This enables the `MemberImportVisibility` upcoming Swift feature described in [SE-0444: Member import visibility](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0444-member-import-visibility.md), then fixes the new issues that enabling it reveals. ### Checklist: - [x] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md). - [x] If public symbols are renamed or modified, DocC references should be updated.
1 parent 3e8add3 commit 77fa261

23 files changed

+35
-2
lines changed

Package.swift

+2
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ extension Array where Element == PackageDescription.SwiftSetting {
202202
.enableExperimentalFeature("AccessLevelOnImport"),
203203
.enableUpcomingFeature("InternalImportsByDefault"),
204204

205+
.enableUpcomingFeature("MemberImportVisibility"),
206+
205207
// This setting is enabled in the package, but not in the toolchain build
206208
// (via CMake). Enabling it is dependent on acceptance of the @section
207209
// proposal via Swift Evolution.

Sources/Testing/ABI/ABI.Record+Streaming.swift

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
//
1010

1111
#if canImport(Foundation) && (!SWT_NO_FILE_IO || !SWT_NO_ABI_ENTRY_POINT)
12+
private import Foundation
13+
1214
extension ABI.Version {
1315
/// Post-process encoded JSON and write it to a file.
1416
///

Sources/TestingMacros/ConditionMacro.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
public import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
public import SwiftSyntaxMacros
1314

1415
#if !hasFeature(SymbolLinkageMarkers) && SWT_NO_LEGACY_TEST_DISCOVERY

Sources/TestingMacros/PragmaMacro.swift

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
// See https://swift.org/CONTRIBUTORS.txt for Swift project authors
99
//
1010

11+
import SwiftDiagnostics
12+
import SwiftParser
1113
public import SwiftSyntax
1214
public import SwiftSyntaxMacros
1315

Sources/TestingMacros/SuiteDeclarationMacro.swift

+2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// See https://swift.org/CONTRIBUTORS.txt for Swift project authors
99
//
1010

11+
import SwiftDiagnostics
1112
public import SwiftSyntax
13+
import SwiftSyntaxBuilder
1214
public import SwiftSyntaxMacros
1315

1416
#if !hasFeature(SymbolLinkageMarkers) && SWT_NO_LEGACY_TEST_DISCOVERY

Sources/TestingMacros/Support/Additions/MacroExpansionContextAdditions.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
import SwiftSyntaxMacros
1314
import SwiftDiagnostics
1415

Sources/TestingMacros/Support/Additions/TokenSyntaxAdditions.swift

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
// See https://swift.org/CONTRIBUTORS.txt for Swift project authors
99
//
1010

11+
import SwiftParser
1112
import SwiftSyntax
1213

1314
extension TokenSyntax {

Sources/TestingMacros/Support/Argument.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213

1314
/// A type describing an argument to a function, closure, etc.
1415
///

Sources/TestingMacros/Support/AttributeDiscovery.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
import SwiftSyntaxMacros
1314

1415
/// A syntax rewriter that removes leading `Self.` tokens from member access

Sources/TestingMacros/Support/AvailabilityGuards.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
import SwiftSyntaxMacros
1314

1415
/// A structure describing a single platform/version pair from an `@available()`

Sources/TestingMacros/Support/CommentParsing.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213

1314
/// Find a common whitespace prefix among all lines in a string and trim it.
1415
///

Sources/TestingMacros/Support/ConditionArgumentParsing.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
import SwiftSyntaxMacros
1314

1415
/// The result of parsing the condition argument passed to `#expect()` or

Sources/TestingMacros/Support/DiagnosticMessage+Diagnosing.swift

+2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
//
1010

1111
import SwiftDiagnostics
12+
import SwiftParser
1213
import SwiftSyntax
14+
import SwiftSyntaxBuilder
1315
import SwiftSyntaxMacros
1416

1517
extension AttributeInfo {

Sources/TestingMacros/Support/DiagnosticMessage.swift

+2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
//
1010

1111
import SwiftDiagnostics
12+
import SwiftParser
1213
import SwiftSyntax
14+
import SwiftSyntaxBuilder
1315
import SwiftSyntaxMacros
1416
import SwiftSyntaxMacroExpansion
1517

Sources/TestingMacros/Support/SourceCodeCapturing.swift

+2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// See https://swift.org/CONTRIBUTORS.txt for Swift project authors
99
//
1010

11+
import SwiftParser
1112
import SwiftSyntax
13+
import SwiftSyntaxBuilder
1214

1315
/// Get a swift-syntax expression initializing an instance of `__Expression`
1416
/// from an arbitrary syntax node.

Sources/TestingMacros/Support/SourceLocationGeneration.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
import SwiftSyntaxMacros
1314

1415
/// Get an expression initializing an instance of ``SourceLocation`` from an

Sources/TestingMacros/Support/TestContentGeneration.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
import SwiftSyntaxMacros
1314

1415
/// An enumeration representing the different kinds of test content known to the

Sources/TestingMacros/TagMacro.swift

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
//
1010

1111
public import SwiftSyntax
12+
import SwiftSyntaxBuilder
1213
public import SwiftSyntaxMacros
1314

1415
/// A type describing the expansion of the `@Tag` attribute macro.

Sources/TestingMacros/TestDeclarationMacro.swift

+2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// See https://swift.org/CONTRIBUTORS.txt for Swift project authors
99
//
1010

11+
import SwiftDiagnostics
1112
public import SwiftSyntax
13+
import SwiftSyntaxBuilder
1214
public import SwiftSyntaxMacros
1315

1416
#if !hasFeature(SymbolLinkageMarkers) && SWT_NO_LEGACY_TEST_DISCOVERY

Tests/TestingMacrosTests/PragmaMacroTests.swift

+2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
import Testing
1212
@testable import TestingMacros
1313

14+
import SwiftDiagnostics
1415
import SwiftParser
1516
import SwiftSyntax
17+
import SwiftSyntaxBuilder
1618

1719
@Suite("PragmaMacro Tests")
1820
struct PragmaMacroTests {

Tests/TestingMacrosTests/TestDeclarationMacroTests.swift

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import Testing
1212
@testable import TestingMacros
1313

14+
import SwiftBasicFormat
1415
import SwiftDiagnostics
1516
import SwiftParser
1617
import SwiftSyntax

Tests/TestingMacrosTests/TestSupport/Parse.swift

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
@testable import TestingMacros
1212

13+
import SwiftBasicFormat
1314
import SwiftDiagnostics
1415
import SwiftOperators
1516
import SwiftParser

Tests/TestingTests/AttachmentTests.swift

+4-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ struct AttachmentTests {
9191
// Write the attachment to disk, then read it back.
9292
let filePath = try attachment.write(toFileInDirectoryAtPath: temporaryDirectory(), appending: suffixes.next()!)
9393
createdFilePaths.append(filePath)
94-
let fileName = try #require(filePath.split { $0 == "/" || $0 == #"\"# }.last)
94+
let filePathComponents = filePath.split { $0 == "/" || $0 == #"\"# }
95+
let fileName = try #require(filePathComponents.last)
9596
if i == 0 {
9697
#expect(fileName == baseFileName)
9798
} else {
@@ -118,7 +119,8 @@ struct AttachmentTests {
118119
defer {
119120
remove(filePath)
120121
}
121-
let fileName = try #require(filePath.split { $0 == "/" || $0 == #"\"# }.last)
122+
let filePathComponents = filePath.split { $0 == "/" || $0 == #"\"# }
123+
let fileName = try #require(filePathComponents.last)
122124
#expect(fileName == "loremipsum-\(suffix).tgz.gif.jpeg.html")
123125
try compare(attachableValue, toContentsOfFileAtPath: filePath)
124126
}

0 commit comments

Comments
 (0)