Skip to content

System module dependency leaks through the Subprocess API #141

@cmcgee1024

Description

@cmcgee1024

The System module is available as SystemPackage, which is a SwiftPM package, and it supports the major Swift platforms including macOS. Some projects, such as swiftly, use this package instead of using conditional imports for System (macOS only, provided by the SDK) or SystemPackage (every other platform).

When using swift-subprocess in a swift file that makes use of FilePath, introducing an import on Subprocess creates a compile error on macOS because the existing FilePaths become ambiguous because the transitive import on System leaks through because of the references to FileDescriptor. As a result it means that clients must fully qualify FilePath, or any other usages of elements from SystemPackage to satisfy the compiler. Meanwhile, these are very nearly equivalent types.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions