Enabling autocrlf in .gitconfig causes Skip builds to fail with "SkipLib/Bool.swift:1:141: error: This extension cannot be merged into its extended Kotlin type…"
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 3.2k
- Forks
- 106
- Avg merge
- 6d 13h
- Merged PRs (30d)
- 1
Description
If enabling autocrlf in ~/.gitconfig file:
[core]
autocrlf = true
Skip projects will fail to build. An example failure from skip checkup may look like:
marc@zap ~ % skip checkup
[✓] Skip version 1.6.30 (= 1.6.30)
[✓] macOS version 15.7.2 (> 13.5.0)
[✓] macOS architecture: ARM
[✓] Swift version 6.3 (> 5.9.0)
[✓] Xcode version 26.1.1 (> 15.0.0)
[✓] Xcode tools SDKs: 5
[✓] Homebrew version 5.0.3 (> 4.1.0)
[✓] Gradle version 9.2.1 (> 8.6.0)
[✓] Java version 25.0.1 (> 21.0.0)
[✓] Android Debug Bridge version 1.0.41 (> 1.0.40)
[✓] Android Studio version: 2025.1
[✓] Android tools SDKs: 3
[✓] Skip license: smallbusiness good through May 26, 2026
[✓] Resolve dependencies (8.63s)
[✗] Build hello-skip (3.73s)
[✗] /private/var/folders/zl/wkdjv4s1271fbm6w0plzknkh0000gn/T/37C97811-0564-408F-8EE7-3FBE60BEF3AD/.build/checkouts/skip-lib/Sources/SkipLib/Bool.swift:1:141: error: This extension cannot be merged into its extended Kotlin type, because its type is defined outside of this module. Therefore it cannot add additional protocols
Error: Message(kind: SkipSyntax.Message.Kind.error, message: "This extension cannot be merged into its extended Kotlin type, because its type is defined outside of this module. Therefore it cannot add additional protocols", sourceFile: Optional(SkipSyntax.Source.FilePath(path: "/private/var/folders/zl/wkdjv4s1271fbm6w0plzknkh0000gn/T/37C97811-0564-408F-8EE7-3FBE60BEF3AD/.build/checkouts/skip-lib/Sources/SkipLib/Bool.swift")), sourceRange: Optional(SkipSyntax.Source.Range(start: SkipSyntax.Source.Position(line: 1, column: 141), end: SkipSyntax.Source.Position(line: 1, column: 457))))
[✗] Skip 1.6.30 checkup failed with 2 errors
See https://skip.tools/docs/faq and https://community.skip.tools for help
See output log for error details: /tmp/skip-checkup-2025-12-02T19:15:07Z.txt
Error: 3 errors
The problem is likely an issue with parsing the checked-out Swift with SwiftSyntax, but the error message is very deceptive. We might try to at least identify when the source files just use carriage returns and provide a better warning/error message.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with Git core.autocrlf=true by running skip checkup, then inspect the checked-out Sources/SkipLib/Bool.swift and the parsing path that processes it. Confirm whether carriage returns trigger the misleading SwiftSyntax error; done means the condition is detected and a clearer warning or error is shown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, swift
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100