pointfreeco / swift-parsing

A library for turning nebulous data into well-structured data, with a focus on composition, performance, generality, and ergonomics.
https://www.pointfree.co/collections/parsing
MIT License
855 stars 75 forks source link

[Swift 5.9.1] Build failure when swift-case-paths version resolves to anything beyond 1.0.0 - error: macros are an experimental feature that is not enabled #330

Closed clackary closed 10 months ago

clackary commented 10 months ago

After digging a bit, this is mostly a heads up that a new compiler error in recent toolchains, possibly as early as 5.9.1, seems to break swift-case-paths build.

./swift-parsing/.build/checkouts/swift-case-paths/Sources/CasePaths/Macros.swift:29:13: error:  macros are an experimental feature that is not enabled 
  @attached(extension, conformances: CasePathable)
            ^

To reproduce:

clackary commented 10 months ago

Let me know if this issue belongs over in swift-case-paths, but since the workaround can be applied in swift-parsing (or also in whatever package includes swift-parsing), I figured it makes sense to file here.

stephencelis commented 10 months ago

@clackary We run CI against Swift 5.9.1, so I don't think this is an issue with the library so much as an issue with development snapshots needing to explicitly enable certain feature flags. If you can reproduce this with an official release and share the repro, please do! Till we can determine this is a bug in the library I'm going to convert it to a more general discussion.