Tests fail to build in Xcode 16 beta #169
Replies: 5 comments 5 replies
-
@bdbergeron Can you zip up and share a project that reproduces the issue? The code snippet above unfortunately isn't enough to debug things. |
Beta Was this translation helpful? Give feedback.
-
@stephencelis sure thing, here y'a go: TCATestIssueRepro.zip |
Beta Was this translation helpful? Give feedback.
-
@bdbergeron As far as I can tell this is a Swift bug/regression that affects all the way back to swift-case-paths 1.1, where the macros were first introduced, and I haven't been able to figure out a workaround in the library itself to support the preexisting types. Can you file a bug with apple/swift and report back here? I'll try to spend some time reducing the problem tomorrow, but it'd be good to flag the regression with Apple. Since this is an Apple bug that we can't do much about, I'm going to convert to a discussion, but hopefully it gets fixed soon. |
Beta Was this translation helpful? Give feedback.
-
Still present on official Xcode 16 release... |
Beta Was this translation helpful? Give feedback.
-
For those that would like to follow, I've reduced and filed the bug with Apple here: swiftlang/swift#76607 |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
I'm using this library as part of a feature that uses TCA, and I believe that it's the CasePaths library specifically that's causing my test suite to fail to build. The app itself builds and runs as expected.
To Reproduce
I have two tests that cover both the success and failure cases of an
Action
that has an associated value ofResult<Void, Error>
type, used within a feature annotated with the@Reducer
macro:My test cases look like this:
Expected behavior
The test suite should build without error.
Environment
Additional context
Changing the
Void
success type to some other concrete type such as Bool results in the tests building successfully. Also removing the.success
and.failure
from the case path in the.receive()
calls results in the tests building successfully.I use the
Void
type in this instance because I have an external (non-TCA) object that handles the loading and data management that the.fetch
action triggers.Beta Was this translation helpful? Give feedback.
All reactions