Skip to content

Relax sendability / improve default main actor isolation compatibility#233

Open
stephencelis wants to merge 10 commits into
mainfrom
relax-sendable
Open

Relax sendability / improve default main actor isolation compatibility#233
stephencelis wants to merge 10 commits into
mainfrom
relax-sendable

Conversation

@stephencelis

@stephencelis stephencelis commented Nov 11, 2025

Copy link
Copy Markdown
Member

We learned some good lessons while developing the @Table macro in StructuredQueries. Let's apply them here.

This probably needs to be a 2.0 breaking change, and is incompatible with TCA 1.0 without some changes to TCA.

Comment on lines +1237 to +1248
// func testConcurrency_SharedCasePath() async throws {
// enum Enum { case payload(Int) }
// nonisolated(unsafe) let casePath = /Enum.payload
//
// await withTaskGroup(of: Void.self) { group in
// for index in 1...maxIterations {
// group.addTask {
// XCTAssertEqual(casePath.extract(from: Enum.payload(index)), index)
// }
// }
// }
// }

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This no longer compiles with the change, which is probably a good thing and fine given that we don't want to support the reflection-based syntax for much longer.

@stephencelis stephencelis changed the title Relax sendability / improve default main actor isolation compatiblity Relax sendability / improve default main actor isolation compatibility Nov 11, 2025
@stephencelis stephencelis added this to the 2.0 milestone Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant