Skip to content

Commit 273568e

Browse files
authored
Remove unnecessary @retroactive conformances (#8353)
Several extensions to conform to common Swift protocols were unnecessarily marked as `@retroactive`, causing compiler warnings. The `@retroactive` annotation is only necessary when the type being extended is defined outside the package.
1 parent e3020c3 commit 273568e

File tree

9 files changed

+18
-18
lines changed

9 files changed

+18
-18
lines changed

Sources/Commands/PackageCommands/Init.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,4 @@ extension SwiftPackageCommand {
8585
}
8686
}
8787

88-
extension InitPackage.PackageType: @retroactive ExpressibleByArgument {}
88+
extension InitPackage.PackageType: ExpressibleByArgument {}

Sources/Commands/Snippets/Colorful.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ extension Array: Colorful where Element == Colorful {
4444
}
4545
}
4646

47-
extension Optional: CustomStringConvertible where Wrapped: Colorful {
47+
extension Optional: @retroactive CustomStringConvertible where Wrapped: Colorful {
4848
public var description: String {
4949
return terminalString()
5050
}

Sources/CoreCommands/Options.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -780,11 +780,11 @@ extension URL {
780780
}
781781
}
782782

783-
extension BuildConfiguration: @retroactive ExpressibleByArgument, CaseIterable {}
784-
extension AbsolutePath: @retroactive ExpressibleByArgument {}
785-
extension WorkspaceConfiguration.CheckingMode: @retroactive ExpressibleByArgument {}
786-
extension Sanitizer: @retroactive ExpressibleByArgument {}
787-
extension BuildSystemProvider.Kind: @retroactive ExpressibleByArgument, CaseIterable {}
783+
extension BuildConfiguration: ExpressibleByArgument {}
784+
extension AbsolutePath: ExpressibleByArgument {}
785+
extension WorkspaceConfiguration.CheckingMode: ExpressibleByArgument {}
786+
extension Sanitizer: ExpressibleByArgument {}
787+
extension BuildSystemProvider.Kind: ExpressibleByArgument {}
788788
extension Version: @retroactive ExpressibleByArgument {}
789-
extension PackageIdentity: @retroactive ExpressibleByArgument {}
789+
extension PackageIdentity: ExpressibleByArgument {}
790790
extension URL: @retroactive ExpressibleByArgument {}

Sources/PackageRegistryCommand/PackageRegistryCommand+Publish.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ extension SignatureFormat {
247247
}
248248
}
249249

250-
extension SignatureFormat: @retroactive ExpressibleByArgument {}
250+
extension SignatureFormat: ExpressibleByArgument {}
251251

252252
enum MetadataLocation {
253253
case sourceTree(AbsolutePath)

Sources/Workspace/Workspace.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@ private func warnToStderr(_ message: String) {
15191519
}
15201520

15211521
// used for manifest validation
1522-
extension RepositoryManager: @retroactive ManifestSourceControlValidator {}
1522+
extension RepositoryManager: ManifestSourceControlValidator {}
15231523

15241524
extension ContainerUpdateStrategy {
15251525
var repositoryUpdateStrategy: RepositoryUpdateStrategy {

Sources/_InternalTestSupport/misc.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -515,8 +515,8 @@ extension InitPackage {
515515
}
516516
}
517517

518-
extension RelativePath: @retroactive ExpressibleByStringLiteral {}
519-
extension RelativePath: @retroactive ExpressibleByStringInterpolation {}
518+
extension RelativePath: ExpressibleByStringLiteral {}
519+
extension RelativePath: ExpressibleByStringInterpolation {}
520520
extension URL: @retroactive ExpressibleByStringLiteral {}
521521
extension URL: @retroactive ExpressibleByStringInterpolation {}
522522
extension PackageIdentity: @retroactive ExpressibleByStringLiteral {}

Sources/swift-bootstrap/main.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -496,9 +496,9 @@ extension BuildConfiguration {
496496
}
497497
}
498498

499-
extension AbsolutePath: @retroactive ExpressibleByArgument {}
500-
extension BuildConfiguration: @retroactive ExpressibleByArgument, CaseIterable {}
501-
extension BuildSystemProvider.Kind: @retroactive ExpressibleByArgument, CaseIterable {}
499+
extension AbsolutePath: ExpressibleByArgument {}
500+
extension BuildConfiguration: ExpressibleByArgument {}
501+
extension BuildSystemProvider.Kind: ExpressibleByArgument {}
502502

503503
public func topologicalSort<T: Hashable>(
504504
_ nodes: [T], successors: (T) async throws -> [T]

Tests/PackageGraphPerformanceTests/DependencyResolverPerfTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,4 +204,4 @@ extension ProductFilter {
204204
}
205205
}
206206

207-
extension ProductFilter: @retroactive JSONSerializable, @retroactive JSONMappable {}
207+
extension ProductFilter: JSONSerializable, JSONMappable {}

Tests/PackageGraphTests/PubGrubTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3494,8 +3494,8 @@ extension PackageReference {
34943494
}
34953495
}
34963496

3497-
extension Term: @retroactive ExpressibleByStringLiteral {}
3498-
extension PackageReference: @retroactive ExpressibleByStringLiteral {}
3497+
extension Term: ExpressibleByStringLiteral {}
3498+
extension PackageReference: ExpressibleByStringLiteral {}
34993499

35003500
extension Result where Success == [DependencyResolverBinding] {
35013501
var errorMsg: String? {

0 commit comments

Comments
 (0)