ddbb57d added duplicate basename detection to ObjectLibraryAssembler, but the detection uses exact (case-sensitive) string comparison on basenames. On NTFS and default macOS APFS (both case-insensitive), files like Repeat.o and repeat.o pass the duplicate check but collide on disk. The copy fails with Win32Error(code: 80) / NSCocoaErrorDomain Code=516.
Reproduces with swift build (swiftbuild backend) on swift-argument-parser on Windows. The Examples/repeat/ target produces both Repeat.o (from Repeat.swift) and repeat.o (module emit for module repeat). Same issue on color, math, default-as-flag examples.
ddbb57d added duplicate basename detection to ObjectLibraryAssembler, but the detection uses exact (case-sensitive) string comparison on basenames. On NTFS and default macOS APFS (both case-insensitive), files like
Repeat.oandrepeat.opass the duplicate check but collide on disk. The copy fails withWin32Error(code: 80)/NSCocoaErrorDomain Code=516.Reproduces with
swift build(swiftbuild backend) on swift-argument-parser on Windows. TheExamples/repeat/target produces bothRepeat.o(fromRepeat.swift) andrepeat.o(module emit for modulerepeat). Same issue oncolor,math,default-as-flagexamples.